Showing posts with label MOINC. Show all posts
Showing posts with label MOINC. Show all posts

Saturday, April 4, 2009

MOINC - Yes. It Scales!


The MOINC gang was in high spirits after the successful completion of presentations and a fully set up demonstration of a MOINC deployment as part of our final year project evaluation. We were so overwhelmed by the way things went and we were certain that what we tried to achieve by coming up with the architectural prototype - MOINC was definitely going to drive future web services deployments big time!

With that highly ambitious perception, we wanted to try and press MOINC to its limits in a small environment within our control and actually see how scalable it can be. So, once the final year exams were over and before we set off on our industrial career paths, we thought to give it a shot using a number of computers from a lab of our department – the Department of Computer Science & Engineering (CSE), University of Moratuwa.

By the way, in case you are new to MOINC, in the most concise way I can put it, “it is an attempt to blend Web Services with Grid and Volunteer Computing concepts in order to make future Web Services deployments highly available and scalable while bringing the computing costs down and making use of unused computing power.” Hmm… I guess that covers it. :)

We got together on 13th March 2009 and managed to get access to the Advance Computing Laboratory of CSE which houses around 60 computers. In this phase our plan was to make as much as concurrent requests to a highly computationally intensive web service and see how the web services deployment can scale to cater the requests. We used a web service which performs an Insertion Sort on a collection of 75000 numbers.

We installed the MOINC Agent application on 20 computers in the lab, and ran the MOINC Server and service client on one laptop, the default WSAS node on another laptop and the URL repository and Server Manager on another laptop. The we gradually increased the number of concurrent requests and at the point of total failure to respond, we increased the grid size and restarted sending in requests in an increasing order.

The results were amazing, and turned out just the way we wanted!!! It was really electrifying for us to see the MOINC screen saver running on all monitors when the deployment was running on full capacity. We collected a set of statistics and will be coming up with a research paper about our working prototype pretty soon.

Check out what Hiranya has to say about our test session in his Tech Feast.

Here are few snaps of what happened on that day.

- MOINC Agents running...

- default WSAS node (running on my lappy ;))

- Just about to join the grid.

- 50% of the team. (L to R)Dinusha, Isuru, Rusiru, Aravinda (me) & Hiranya


Take a look at how scalability increases with the size of the grid.



My heartiest thanks go out to all the MOINC team members who turned up for the test and I would also like to thank Mrs. Vishaka Nanayakkara – Head, CSE and Mr. Ananda Fransiscu who is in charge of the Advance Computing Lab for all the support given to this test session.

MOINC has proven its capabilities, but this is not the end!

It has a long way to go. A VERY long way…! Oh yeah! ;)


Thursday, October 23, 2008

MOINC - A new epoch of Web Services


Web Services has become the ultimate choice for modern organisations to harness the power of network based computing. However, the the original Web Services model faces two inherent shortcomings despite all the good things it has to offer. Firstly, the traditional implementation finds it hard to scale up with the rising number of service requests, and thus 'scalability' is at stake. Therefore, the service providers are forced to go for more hardware oriented solutions to facilitate high scalability, investing fortunes in most of the cases. In addition, when the requests overwhelm the service provider, he is forced to reject further requests. This results in the decline of 'availability'. Web Services and SOA have definitely created hype, and have already become dominating technologies in the enterprise arena. But, when scalability and availability are threatened, how is the paradigm of WS going to survive?


The answer lies in the field of distributed computing which also has become prominent and interesting technological breakthrough. Projects like SETI@Home, Folding@Home and middleware technologies like BOINC have become hallmark technologies in this respect, especially in the field of Volunteer Computing. Therefore, a novel idea is to integrate a touch of the above techniques to enhance the availability and scalability of Web Services by distributing the load subjected to Web Service geared service providers over a cluster of computers. This innovative idea was given by Dr.Sanjiva Weerawarana, Chairman & CEO of WSO2, when we were in the quest for a problem to solve as our final year project of the Computer Science & Engineering course of the University of Moratuwa.


So, here we are! A group of ten comprising myself and nine of my friends at CSE are currently in the development stage of the platform which would solve the above two issues in the days to come by. Our project named MOINC (Mora Open Infrastructure for Network Computing) tries to give a solution by creating a cluster of computers made of volunteer computers which are connected to the World Wide Web, and distributing the load among all these nodes to get the processing done. Simply put, if things go well (which we are very keen to see happen :) ), a single application of this would give rise to a fully cranked up distributed super computer facilitating Web Services with high availability and scalability. The extremely generic nature of this project would give the users of this platform the capability to implement virtually any Web Services based application on top of it - even systems like SETI@Home.


The magic happens with the fine blend of the following four components.
- MOINC Server - The core component which is a self contained entity that manages the cluster, accept service requests, perform default WS processing etc.
- MOINC Client Agent - The component that will run in each and every node computer in the cluster, which will communicate with the Server and take care of all the activities in the node end.
- MOINC Server Manager - The component which gives a range of additional features to the MOINC platform for improved Quality of Service with features like credit management, trend analysis, social networking etc.
- Thisara Communication Framework - The Apache MINA based communication protocol which will be used for internal communications of the MOINC platform.


So, we claim that it solves two issues in the Web Service paradigm. But, the problem solving does not end there! This becomes a solution to make good use of idling computer power and electricity wasted during the time that computers are up and not doing any productive work. Hence, two birds are killed with one stone!


All the necessary information is available in the official project web site, and we have already done an alpha release of the Thisara Communication Framework. The source code can be checked out from our SVN repository as well. The team is high spirited, MOINC is rapidly progressing and the world of future Web Services seems a highly scalable and available place :)