Scale-up on Multi-Core
Building applications in a way that would enable to exploit Multi-Core technology requires specific a skill-set for parallel programming rarely available by typical organizations. It is also considered a conflicting paradigm to a scale-out model. The following test was conducted on a DELL PowerEdge R740 machine. To exploit the power of multi-core technologies we used the built-in parallel processing semantics available with GigaSpaces middleware which enabled both scaling-up and out at the same time without enforcing changes to the application code.
The GigaSpaces parallel processing API provides a Java equivalent programming model such as the Actor model to those available in languages such as Scala and Erland. The combination of all that enables to exploit the full potential of multi-core power and provides unparalleled performance at significantly reduced power consumption without exposing the complexity associated with such optimization to the application and without the need to introduce a completely new language for that purpose.
Seamless transition from scale-up to scale-out
The user application is connected to the space using a GigaSpaces smart proxy. The smart proxy detects whether the space implementation is remote or local and uses either direct call in case it is local or network call otherwise. The application code is kept the same in both instances which makes it possible to design the application for both dimensions of scalability simultaneously or switch between scaling-up or out models at any point in time through simple configuration change.