Multi-core Computers need Multi-threaded Applications
Multi-core computers are everywhere. One would be hard pressed to find a single-core desktop in the Sunday newspaper ads anymore. What were once considered high-end special purpose computers are now commonplace. Furthermore, industry experts are predicting the number of cores to increase dramatically in the next few years. What is sorely missing however, are multi-threaded applications that take advantage of this ever increasing power.
Most people agree that it's challenging to add multi-threading capabilities to existing applications. We are resistant to take on new sources of problems such as race conditions, deadlocks, and non-determinism, in the name of performance. However, the time when the potential benefits outweigh the difficulties is at hand.
Help is on the way. Companies such as Intel and Cilk Arts, both of whom presented at our recent Insiders Summit, will soon release new tools to help applications get threading right. Intel is working on a tool-set called Parallel Studio and Cilk Arts is working on several tools that center around Cilk++. We see great promise in the early versions of these products.
Spatial has made significant investments in the preparation for multi-core by developing the thread-safe ACIS modeler. This new product, recently announced and demonstrated at the Insiders Summit, is an extension of ACIS that allows modeling operations to be performed concurrently. This capability is not only fundamental to multithreaded ACIS based applications but also helps our customers achieve significant performance increases on multi-core hardware.
When we discuss performance issues with our customers we often hear concerns about the time taken to perform a series of operations on very large models and assemblies. The typical workflows are: loading and faceting, collision detection, point in face calculations, and slicing. These operations may take many minutes to complete in extreme circumstances. What's encouraging is that these are the types of operations that can take advantage of thread-safe ACIS.
With thread-safe ACIS you can focus on particular workflows, not your entire application. This reduces the problem size significantly. We are also supplying functionality to create and manage threads, virtually eliminating the need to develop custom threading logic. This greatly simplifies the development effort and shortens the time to market.
The sample programs we create to test thread-safe ACIS and demonstrate its performance benefits show exceptional potential. The ease at which these programs evolve, using ACIS thread management tools, gives us hope that ACIS based applications will soon be putting idle cores to work.
Authored by Jeff Happoldt
Watch a Thread-Safe ACIS demo
Return to the Winter 2008 Issue