Global Sources
EE Times - IndiaWebsite
eeBlog-Article content Home / eeBlog / 

Profile
Nickname: n_raj     Articles(8)    Visits(14153)    Comments(1)    Votes(1)    RSS
I have over two decades of experience in the software industry. I have worked extensively in product engineering focusing on system software, embedded and networking technologies. I am currently working as product management consultant in a startup. I was till recently VP in the R&D Services business unit of MindTree. Prior to MindTree, I was with Wipro’s R&D. My other interests include photography and traveling.
Blog Archive:
2011 -  Dec.,  Apr
2010 -  Jul.,  May.,  Mar.,  Feb.,  Jan
View All

Posted: 06:00:19 PM, 28/04/2011

Multicore and server side computing

   

We have seen the challenges of multicore programming in mainstream programming in earlier articles.

The main  challenge is refactoring of the code to multiple parallel threads of execution that can run on different cores and in the process, how to address the issues of synchronization, race conditions effectively.

But if there are no synchronizations needed between the parallel threads, it becomes easy and even natural to adopt parallel programming on multicore.

We have seen some such areas like networking and scientific computing. Server side processing is another such area.

If we look at a  modern web server, it runs a software like Apache on Linux or IIS on Microsoft servers. When a request for reading a web page lands in a server, it  spawns a thread which runs to completion. Since most of the web requests to a server are likely to be reading of pages, the web server can spawn multiple threads in parallel to handle requests.

Now, if the server has a multicore processor like Intel Xeon 7500, it helps. Each thread can be run on a different core. This speeds up the
performance of the web server by many times.

For jobs like responding to HTTP requests or generating dynamic page generation, it speeds up the performance. One such study reports that the quad core CPUs provide 55% more performance for generating the dynamic pages than a similarly-priced pair of dual core CPUs.

But there is a catch here. If the web requests access the database or perform I/O intensive jobs, it could create bottlenecks.  One should not expect 8x performance gains by just moving to an octal core server. After initial performance boost, more number of cores does not necessarily translate to higher performance linearly. One needs to do lots of  tuning of various parameters like number of threads, number of ethernet interfaces, cache sizes, I/O, databases and so on!

To summarize, one can getter better performance by moving to multicore servers and with careful tuning of system parameters one can improve it too!


Views(680) Comments(0)
Total [0] users voted     
[Last update: 06:00:19 PM, 28/04/2011]
CONTACT US TO OWN A BLOGNew!  

Have Your Say!

Got something to say? Why not share itwith other engineers?

CONTACT US TO OWN ONE!

SEE WHAT OTHERS HAVE SAID?

Top eeBlog Keywords

1.  book review

2.  fpga

3.  processor

4.  ipad 2

5.  ipad

Voted Article
Datasheets

Datasheets

Looking for parts to specify for your design project? Browse our library of datasheets NOW!

  • LT1640AH Negative Voltage Hot Swap Controller
  • LT4220 Dual Supply Hot Swap Controller
  • LT4250H Negative 48V Hot Swap Controller
  • LT4254 Positive High Voltage Hot Swap Controller with Open-Circuit Detect
  • LTC1643A PCI-Bus Hot Swap Controller

...more datasheets

Industry News

...more

eeBlogs
eeForum homepage