From: David P G. <gr...@us...> - 2006-03-01 22:58:12
|
> So to solve the problem > with the portable native syncing, is it possible to create a version of > the Jikes RVM that has a 1-1 java thread to pthread mapping? Currently > there is a limit of 11 processors/pthreads being specified on the > command line. Could we raise all the issues and build this into an RFE? Possible: yes Desirable: probably (my opinion only; others involved in the project may disagree) Easy: No. Being optimistic, this is a several month full-time effort and impacts every subsystem in the VM. Would involve ripping out and replacing the whole threading/synchronization implementation, some parts of the JNI implementation, and has rippling implications throughout the VM including the GC initiation process and the design of the adaptive system. Historically, (ie, when Jikes RVM was being built initially in 1997-2000), native threading had fairly horrific scalability and synchronization performance. Therefore Jikes RVM was built using m-n threading and demonstrated significantly better SMP scalability than contemporary product JVMs that used native threading. In the last 5 years native thread implementations, especially on linux, have gotten much better so it's less clear that m-n threading is a big win. If we were starting with a clean slate in 2006, I think we might have done something different than what made sense in 1998. So, although this is a massive project I personally think we should be working towards it. --dave |