I’m pleased to report that this year’s OOPSLA will include several tutorials with a Smalltalk theme. On Thursday morning (tentative schedule) I’ll be sharing “Scaling Objects for the Enterprise: What If Thousands of VMs Could Share Terabytes of Objects?”
During the past couple decades OOP has become sufficiently mainstream so that we take for granted that our domain model will be manipulated by applications using objects. What has not become common, however, is the use of objects when sharing domain data between instances of the application. Instead, we commonly see things like memcached (which stores bytes from which objects must be created) and relational databases (which store a handful of primitive types from which objects must be created). This process of converting objects to and from some other format slows down not just the development process but the runtime performance as well.
In this Tutorial we will study details of the architecture of GemStone/S, an object database and application server that was introduced at the first OOPSLA in 1986. We will look at techniques used to allow thousands of virtual machines on hundreds of networked hosts to share terabytes of objects using true database semantics (ACID: Atomic, Consistent, Isolated, and Durable). We will see how all memory caching and on-disk storage is of true objects in the same format as used by the application. The presentation will be an in-depth technical discussion of implementation details, not a product demo.
Mark you calendars for October 25-29, 2009.