Ron most recently served as CTO of the SIF Association, an XML standard organization in the K-12 area. A 20 year veteran of Sun Microsystems, he co-founded the JavaPOS initiative, and has taught an evening section of Object Oriented Analysis and Design at De Anza College for the last 10 years, is the somewhat sheepish holder of several software patents and has been keynote speaker at multiple partner conferences and selected industry events. His current technology focus is on design patterns and application (rather than module) integration.
The Java platform, like other Managed Runtime Environments, is limited in terms of the amount of memory and the number of CPUs it can effectively provide to applications deployed on it. GC pauses scale linearly with memory and impose an effective limit of 1-2 GB before application pause times of a minute and more begin to occur. The "synchronized" method is large grained and its use results in lock (rather than data element) contention. When the number of CPUs / system grows, then as predicted by Amdahl's law, this large grained locking scheme severely limits the performance gains provided by additional CPUs.
This presentation will examine how developers attempt to bypass these barriers today, and evaluate and compare the 3 main Java scalability design patterns (scale out, scale up, scale via external appliance). An example of the latter approach, a Java Compute Appliance, will be examined to see how an integrated approach (from the wire to the JVM) has been used to break through these barriers and allow Java applications to transparently and successfully utilize more than 100 GB of memory and 100's of CPUs.