Productivity Solutions, Inc.
Does your application use multiple threads? Is your application set up for concurrency? Amdahl's Law can be used to predict the maximum theoretical improvement in performance using multiple processors. What does that mean? How does it apply? At one point Moore's Law meant faster processors, today it means more processors — a concurrent hardware environment whether you like it or not.
Look at CPU utilization while your application is running. If the application doesn't use both processors, then you aren't achieving maximum performance. That also means your application doesn't scale. What can you do? Java (and other languages) supports multi-threading. However, merely paying attention to threads isn't enough. In the multi-core world, you want to do the things in parallel that can be overlapped, but you also have to pay attention to the things that must be serialized. This brings us back to Amdahl's Law. We know it's impossible to achieve theoretical maximums. Do you know how to get close?
In this presentation, David address these questions in the context of the three critical issues you need to consider: structure, safety, and scalable implementations. How do you structure your code to run in a multi-core system? What can you do to assure thread safety? How do you put it all together to make Amdahl's Law work for you? How do you get it to scale? Along the way we'll look at some familiar concepts (e.g., encapsulation, resource management, serialization and more), and some new ideas made possible with the latest releases of Java (e.g., annotations). If you're working on enterprise application development that runs either on a multi-core system or multiple systems, don't miss this presentation.
When does it make sense to consider SOA, versus supplying the software as a service? What's the real difference between the two? When does it make sense to consider either approach, and when doesn't it? What happens when SOA or SaaS integrate with Web 2.0? A service-oriented architecture makes sense in some circumstances and not in others. SOA is usually tied directly to business processes, not applications, while Software as a Service requires a different approach to developing applications. Although both are network-based, the fundamental paradigms for the two approaches are not the same. In this presentation David will explore the differences between the two, including the reality and the hype, from both a business and developer/technology perspective.
This was an ad hoc "Birds of a Feather" presentation that David presented one evening during the conference.
© 1997 2008 Kovsky Conference Productions Inc.; All rights reserved.