Jump to content
PcPerf.fr
Sign in to follow this  
PcPerf bot

What does the SMP core do?

Recommended Posts

Our SMP core is very different than the way other distributed computing projects handle multi-core CPU's, and I thought it might be interesting for the FAH community to hear about the differences, pro and con.  As I think most people interested in computers know, Moore's law stating that the transistor count in CPUs will double every 1.5 years has continued for decades.  Most people think of Moore's law in terms of the speed of CPU's, but this isn't what Moore originally had in mind.  In the past, more transistors have lead to greater CPU speeds, but that has essentially ended (at least for traditional CPU's) a few years ago. 

 

But if Moore's law is still marching along (as it is), what do all those transistors do?  Over the last few years, more transistors have translated into more CPU cores, i.e. more CPUs on a chip.  While this is not what we wanted, this is perhaps not necessarily a disaster, if one can use these multiple CPUs to get faster calculations.  If we simply do more calculations (i.e. multiple Work Units, or WU's, simultaneously) not faster calculations (a WU completed in less time), distributed computers will run into the same problems that face supercomputers: how to scale to lots and lots of processors -- i.e. how can we use all these processors to do a calculation faster over all.

 

In FAH, we've taken a different approach to multi-core CPUs.  Instead of just doing more WU's (eg doing 8 WU's simultaneously), we are applying methods to do a single WU faster.  This is typically much more valuable to a scientific project and it's important to us.  However, it comes with new challenges.  Getting a calculation to scale to lots of cores can be a challenge, as well as running complex multi-core calculations originally meant for supercomputers on operating systems not meant for this (eg Windows).

 

Right now, our SMP client seems to be running fairly well under Linux and OSX -- operating systems based on UNIX, as is found on supercomputers.  We use a standard supercomputing library (MPI) to run these WU's and MPI behaves well on Unix-based machine.  MPI does not run well on Windows and we've been running into problems there.  However, as Windows MPI implementations mature, our SMP/Windows app will behave better.  Along the way, we also have a few tricks up our sleeve which may help as well.  However, if we can't get it to run as well as we'd like on Windows, we may choose to overhaul the whole code, as we did with the GPU1 client (which was really hard to run).

 

We're very excited about what the SMP client has been able to do so far.  One of our recent papers (#53 in our papers web site http://folding.stanford.edu/English/Papers) would have been impossible without the SMP client and represents a landmark calculation in the simulation of protein folding.  We're looking forward to more exciting results like that in the years to come!

 

 

 

Voir l'article complet

Share this post


Link to post
Share on other sites

Qu'est-ce que le noyau SMP?

 

Notre noyau SMP est très différent de la façon dont les autres projets de calcul distribué poignée multi-core CPU, et j'ai pensé qu'il pourrait être intéressant pour la communauté FAH à connaître les différences, pour et contre. Comme je pense que la plupart des personnes intéressées à savoir ordinateurs, La loi de Moore en précisant que le transistor count dans CPU doublera tous les 1,5 ans a continué pendant des décennies. La plupart des gens pensent de la loi de Moore en termes de vitesse de CPU, mais ce n'est pas ce que Moore avait à l'origine dans l'esprit. Dans le passé, plus transistors ont conduit à une plus grande vitesse du CPU, mais qui a essentiellement pris fin (du moins pour traditionnelles CPU) il ya quelques années.

 

Mais si la loi de Moore est toujours en marche le long (comme c'est le cas), qu'est-ce que tous ces transistors? Au cours des dernières années, plus de transistors se sont traduits par une plus CPU carottes, c'est-à-dire plus de processeurs sur une puce. Si ce n'est pas ce que nous voulions , Ce n'est peut-être pas nécessairement une catastrophe, si l'on peut utiliser ces processeurs multiples pour obtenir plus rapidement des calculs. Si nous n'avons plus les calculs (c'est-à-dire plusieurs unités de travail, ou du WU, en même temps) pas plus rapidement des calculs (une WU terminé en moins de temps), distribué des ordinateurs se déroulera dans les mêmes problèmes qui se posent à supercalculateurs: comment à l'échelle de lots et les lots de processeurs - c'est-à-dire comment pouvons-nous utiliser tous ces processeurs à faire un calcul plus rapide de tous.

 

En FAH, nous avons pris une approche différente de multi-core CPU. Au lieu de se faire plus WU (par exemple, faire 8 WU's simultanément), nous appliquons des méthodes pour faire un seul WU plus vite. C'est généralement beaucoup plus précieux pour un scientifique projet et il est important pour nous. Toutefois, il est livré avec de nouveaux défis. Obtenir un calcul à l'échelle de beaucoup de carottes peut être un défi, ainsi que la gestion complexe multi-core calculs signifiait à l'origine, pour les superordinateurs sur les systèmes d'exploitation ne signifie pas pour ce ( Windows par exemple).

 

À l'heure actuelle, notre client SMP semble fonctionner assez bien sous Linux et Mac OS X - les systèmes d'exploitation basés sur UNIX, comme celle retrouvée sur les superordinateurs. Nous utilisons une bibliothèque standard de superinformatique (MPI) pour exécuter ces WU et MPI se comporte bien sur Unix basée machine. MPI ne fonctionne pas bien sous Windows et nous avons été des problèmes de fonctionnement. Cependant, comme Windows implémentations MPI maturité, notre SMP / app Windows se comportera mieux. Sur le chemin, nous avons aussi quelques atouts dans notre manche mai qui l'aide. Toutefois, si nous ne pouvons pas obtenir son fonctionnement ainsi que nous aimerions sur Windows, nous choisir mai à réviser l'ensemble du code, comme nous l'avons fait avec la GPU1 client (qui était vraiment difficile à exécuter ).

 

Nous sommes très enthousiastes à l'idée de ce que le SMP client a été en mesure de le faire bien. L'un de nos articles récents (# 53 documents dans notre site Web http://folding.stanford.edu/English/Papers) aurait été impossible sans le LEP client et représente un jalon dans le calcul de simulation de repliement de protéines. Nous sommes impatients de plus excitant comme résultats que dans les années à venir!

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...