Author Archive
GigaSpaces & Maven Setup : a mini-recipe
August 28th, 2008When trying out the bundled Maven tool that now ships with GigaSpaces, I found it friendly to my sensibilities to create a couple of new scripts:
I placed both of these in the GS_HOME/tools/maven directory:
- The first one sets up the necessary paths before calling the installmavenrep.bat that comes with GigaSpaces:
mavensetup.cmd
set M2_HOME=%~dp0apache-maven-2.0.9
set PATH=%PATH%;%M2_HOME%\bin
call installmavenrep.bat
- The second one starts up a new shell with the paths set so that maven commands will function as expected by the GigaSpaces documentation:
mavenshell.cmd
set M2_HOME=%~dp0apache-maven-2.0.9
set GS_HOME=%~dp0..\..
set PATH=%PATH%;%M2_HOME%\bin;%GS_HOME%\bin
start “MAVEN SHELL”
Once in my “MAVEN SHELL”, I can create a new application that uses the mirror service by executing:
C:\gigaspaces-xap-6.6.0-m3\tools\maven>mvn os:create dashDgroupId=com.test.mirror dash
DartifactId=MyFirstMirrorApp dashDtemplate=basic-async-persistency
With the project created – and quickly too! I now add another script to the mix:
- This script lives in the root directory of the newly generated project.
In this example that would be the MyFirstMirrorApp directory found on my machine here:
C:\gigaspaces-xap-6.6.0-m3\tools\maven\MyFirstMirrorApp>
- The purpose of this script is to start up each of the aspects of the project in the proper order and demonstrate that it all works:
(Note: I execute this from within my “MAVEN SHELL” after CD‘ing into the MyFirstMirrorApp directory)
runmyproject.cmd
rem note you must setup mvn before trying to run this project in this way…
start mvn compile os:run dashDmodule=mirror
echo sleep
ping 1.1.1.1 -n 1 -w 60000 > NUL
start mvn compile os:run -Dcluster=“total_members=2,1″ -Dmodule=processor
echo sleep
ping 1.1.1.1 -n 1 -w 60000 > NUL
start mvn compile os:run -Dmodule=feeder
Once everything is running, I can start the GigaSpaces management User Interface by executing: the following from within my “MAVEN SHELL“
>start gs-ui
Now comes the time for the final script of the day:
- I store this script in the tools/maven directory.
- This is once again executed from within the same “MAVEN SHELL” that I have been using up until now.
- This script starts up the HSQL Viewer and connects to the database being used by the mirror service to store data:
lookatmydb.cmd
mvn os:hsql-ui
dashDdriver=org.hsqldb.jdbcDriver
dashDurl=jdbc:hsqldb:hsql://localhost/testDB
executing the following query while in that viewer shows the data stored there :
select * from PUBLIC.DATA
Edge High Performance Computing
August 27th, 2008I ran across this excellent article on Edge HPC and by golly, it sounds like the need for both of the following is growing at a huge rate:
- Increasing the efficiency of the software solutions made to solve business problems
- Providing adaptability of software systems to changes such as increased load and failures
They call this new landscape: “Edge High Performance Computing“, as opposed to “High Performance Computing“
To my mind the major difference here between these classes of problems is the need to maintain state and the capacity to leverage less-exotic hardware and more “modern” and likely Object-Oriented software languages such as .NET, C++ and Java.
I like very much the quality of the content of the Tabor research work and look forward to future updates from them regarding these topics.
Owen.
Video is worth a million words. . . Latest GigaSpacesXAP demo
August 12th, 2008With my wife and kids away, I am having a geeky bachelor time that many who read this would probably find quite thrilling. For example: I spent this last weekend producing a new MonteCarlo application example for GigaSpaces.
It is rich in the patterns it utilizes:
- SBA (Colocated spaces with workers)
- Master-worker (remote workers which scale dynamically when the workload is too high)
- Spring Remoting on top of GigaSpaces – the aggregation work is achieved utilizing our Sync Remoting
The app goes like this:
Historical information regarding several funds is used to predict the future behavior of those funds over a 20 year time period with Minute by Minute fluctuation in prices being calculated and applied.
These funds are grouped in different formations into Portfolios and the entire Portfolio assessed for its growth over the same 20 year period.
In the end, the best combination of funds within a portfolio is determined and reported and the best and worst behaving funds are also shown.
Technically, several portfolios and their associated funds are written as tasks into the system for analysis – the logic needed to process them and their historical information is sent along with them as well. Workers take the tasks, process the associated logic and return a result showing the outcome of the application of the expected variation in price for each fund in the portfolio over the designated 20 year period.
This is performed over a set of possible portfolios – each containing different variations of funds.
Each set is repeatedly simulated to avoid undo skewing and allow for better control of the randomness.
In the end, the client requests a summary of all the results which is created by a service that operates in parallel across the available spaces to take all the results and sort them and aggregate them to determine the most common, best [highest value portfolio], and worst [lowest value portfolio]
This information is returned to the client and printed out to the console.
This morning, I produced a nifty 8 minute flash presentation showing my Monte Carlo application being executed on the GigaSpaces platform.
NB: To keep the video short, and because I only used my laptop, I kept the size of the sets and the iterations at very low levels. Nevertheless, the application scales very nicely and provides fault-tolerance as well.
You can check out the 8 minute video using this link: THE MONTECARLO VIDEO
[you may have to wait a while for the video to load, if it stops
mid-way, play it again from the beginning after it loads completely]
I hope you enjoy watching the fruits of my labors – what could be a better way to spend a bachelor weekend eh?
Cheers,
Owen.
Bridging the gap between the clouds
August 9th, 2008Dekel Tankel of GigaSpaces spoke recently to a hip cloud crowd regarding the risks associated with moving an application to the cloud or grid environment.
Without a GigaSpaces Space-based architecture (what I refer to as a TPC Architecture ) applications running in a cloud suffer from an inability to scale and start to erode the benefits of the cloud. In addition there are questions regarding the ability to maintain state reliably in a cloud: especially a pay by the drink cloud where it can get expensive both in terms of $$ and time to utilize the persistence mechanisms provided by the vendor.
Dekel speaks about and demonstrates how GigaSpaces makes it possible to manage your application services -moving them from machine to machine as needed and also addresses scaling the application by spreading it out [partitioning it while removing the traditional bottlenecks of the database and network boundaries between services]
He does a nice job – way to go Dekel!
Cheers,
Owen.
Geva makes a strong argument…
August 1st, 2008In his blog post: here Geva Perry speaks about the dollars and sense regarding setting up shop in a cloud and how GigaSpaces’ Elastic Appserver [my term], provides incredible efficiency which leads to greater dollar value realized from your it investment. After reading Geva’s blog, I have nothing to add except I am *so* glad I work for GigaSpaces!
BTW, These days, I am conducting various educational webinars designed to assist new users in understanding the nature of architecting and programming GigaSpaces solutions. Please, feel free to check them out.
Other news: I created a new introductory video series with a new and improved [or so I think] HelloWorld application example. The videos are < 20 minutes each and should also prove useful in helping users get started with the GigaSpacesXAP way of doing things. Check out this quick start guide to see what I am talking about.
Hope you are having a great summer, my family is back in FL (remember the wedding pics?) so, I should be able to get a tan and lose some weight playing tennis and swimming. -ahh life is good.
Cheers,
Owen.







