This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Faking It
September/October 2011 (vol. 28 no. 5)
pp. 96, 95
Diomidis Spinellis, Athens University of Economics and Business
CPUs are no longer getting faster. Instead, CPU manufacturers now package multiple cores in each CPU and ask us developers to put them to good use. Writing parallel code using multiple threads or even a higher-level API is a fiendishly difficult task. An alternative approach involves using a programming language that can easily exploit multiple cores, but it requires substantial effort. A third way involves faking your application's multicore-handling dexterity by handing over this responsibility. At the highest level, it's easy to put multiple cores to work if your application serves Web requests (pass them to a Web application server) or dishes out SQL statements (via a commercial RDBMS). Another high-level way to utilize multiple cores is to let the operating system do it for you by splitting your processing among independent processes. You can do this by using pipelines of communicating processes, by splitting the work among many instances of the same process with GNU parallel, or by parallelizing independent work items with make -j. At the application level, you can do the same by employing the map-reduce and filter-reduce techniques.
Index Terms:
parallelism, concurrency, multicore
Citation:
Diomidis Spinellis, "Faking It," IEEE Software, vol. 28, no. 5, pp. 96, 95, Sept.-Oct. 2011, doi:10.1109/MS.2011.95
Usage of this product signifies your acceptance of the Terms of Use.