Jim Lawrence
accessd at shaw.ca
Thu May 23 09:44:20 CDT 2013
Hi Shamil: I am looking forward to the day where the hardware, OS and programming tools have the ability to really manage multi-core CPUs. Maybe a language like F# or Erlan which are designed to scale in a horizontally environment might be the answer? Maybe our top-down programming languages are designed wrong? When it comes the languages that are built around the internet, they are never going to be able take advantage of the hardware, or should they. That responsibility will have to fall to the OS (and BE server). C# itself will eventually be designed to, right out of the box, to take advantage of a multi-core environment but I feel it should never have to. The real heavy-lifting should start at the OS level. But I wonder if the whole multi-threaded approach to OS and program design is dead? The event driven model now appears to be the solution. Just compare response times and resource usage of process-based servers like IIS and Apache to new asynchronous servers like Nginx and Node. Comparing a multi-thread application to event driven application: http://www.organic-development.com/blog/apache-vs-nginx-performance-comparis on.html Jim -----Original Message----- From: dba-tech-bounces at databaseadvisors.com [mailto:dba-tech-bounces at databaseadvisors.com] On Behalf Of Salakhetdinov Shamil Sent: Thursday, May 23, 2013 12:20 AM To: Discussion of Hardware and Software issues Subject: Re: [dba-Tech] TIOBE Programming Community Index for May 2013 Hi Jim -- <<< C and C++ does have all those capabilities, but it is just that you have program the features yourself.>>> Yes, C and C++ do have multi-core scaling capabilities and the other *general purpose* programming languages do not have that capabilities, e.g. my (currently beloved) C# doesn't have that capabilities - and the chances are high it (C#) and Java and JavaScript, ... will never have that capabilities as they are running inside a "sand-box" environment. (well, C# does have unsafe blocks but it doesn't (yet) have languages environment (run-time libraries) features ready to be used to implement blocking free multi-core scaling). -- Shamil Среда, 22 мая 2013, 15:20 -07:00 от "Jim Lawrence" <accessd at shaw.ca>: >Hi Stuart: > >Good point. > >C and C++ does have all those capabilities, but it is just that you have >program the features yourself. > >Jim > >-----Original Message----- >From: dba-tech-bounces at databaseadvisors.com >[mailto:dba-tech-bounces at databaseadvisors.com] On Behalf Of Stuart McLachlan >Sent: Wednesday, May 22, 2013 3:12 PM >To: Discussion of Hardware and Software issues >Subject: Re: [dba-Tech] TIOBE Programming Community Index for May 2013 > >There's a difference between: > >"multi-core programming" which you were talking about: > >> <<< It's possible to do "true" multi-core programming without C/C++ >>> >> Please post some samples for general purpose programming languages and >OSes. > >and 'multi-core scaling" which the article talks about. Essentially that >article just points out >that to scale properly across multiple cores, threads blocking other >threads is very inefficient >and you have to design your application properly. It says NOTHIING about >what different >languages/compilers can do and certainly doesn't sugggest that C/C++ has >some magic >capabilities not avaiable in other languages > > >-- >Stuart > >On 23 May 2013 at 0:21, Salakhetdinov Shamil wrote: > >> Hi Stuart -- >> >> Please read my recent reply to Hans in this thread - read the following >article: >> >> >http://erratasec.blogspot.ru/2013/02/multi-core-scaling-its-not-multi.html# . >UZsfhbVplfA (posted here the third time). >> >> Thank you. >> >> -- Shamil >> >> >> , 22 2013, 20:22 +10:00 "Stuart McLachlan" < stuart at lexacorp.com.pg >: >> >Or any multi-threading programming language for Windows where you can >call >> >SetProcessorAffinityMask and/or SetThreadAffinityMask >> > >> > http://msdn.microsoft.com/en-us/library/ms686223%28VS.85%29.aspx >> > http://msdn.microsoft.com/en-us/library/ms686247%28VS.85%29.aspx >> > >> >PowerBASIC immediately comes to mind :-) >> > >> >-- >> >Stuart >> > >> >On 22 May 2013 at 3:01, Hans-Christian Andersen wrote: >> > >> >> >> >> > Please post some samples for general purpose programming languages >and OSes. >> >> >> >> http://wiki.python.org/moin/ParallelProcessing >> >> >> >> http://en.wikipedia.org/wiki/Grand_Central_Dispatch >> >> >> >> >http://embarcaderos.net/2011/01/23/parallel-processing-and-multi-core-utili z >ation-with-java/ >> >> >> >> >http://blogs.msdn.com/b/csharpfaq/archive/2010/06/01/parallel-programming-i n >-net-framework-4-getting-started.aspx >> >> >> >> etc... >> >> >> > >> >_______________________________________________ >> >dba-Tech mailing list >> >dba-Tech at databaseadvisors.com >> > http://databaseadvisors.com/mailman/listinfo/dba-tech >> >Website: http://www.databaseadvisors.com >> >> _______________________________________________ >> dba-Tech mailing list >> dba-Tech at databaseadvisors.com >> http://databaseadvisors.com/mailman/listinfo/dba-tech >> Website: http://www.databaseadvisors.com > > > >_______________________________________________ >dba-Tech mailing list >dba-Tech at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/dba-tech >Website: http://www.databaseadvisors.com > > >_______________________________________________ >dba-Tech mailing list >dba-Tech at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/dba-tech >Website: http://www.databaseadvisors.com _______________________________________________ dba-Tech mailing list dba-Tech at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-tech Website: http://www.databaseadvisors.com