libGlass 0.7.1
Sponsored Links
libGlass 0.7.1 Ranking & Summary
File size:
0.36 MB
Platform:
Any Platform
License:
GPL (GNU General Public License)
Price:
Downloads:
1483
Date added:
2005-10-03
Publisher:
Bruno Barberi Gnecco
libGlass 0.7.1 description
libGlass is a library for distributed computing that makes its programming easy.
The Glass framework is a scalable set of components that can be used by applications to perform distributed computing. Applications are built reusing the available components as needed.
One of the major goals of libGlass is to be a user-friendly framework, not only suitable for new applications, but also for legacy code.
This is an important feature, as most available solutions for distributed computing require a substantial amount of rewrite of legacy code; some of them require a complete change of the application design.
libGlass was designed to achieve the following goals:
- User transparency: the library must be as transparent as possible. Any tasks that are repetitive or that can be done automatically should be done by the library, without user intervention.
The API (Application Programmers Interface) should be simple and intuitive, with a smooth learning curve and provide high level primitives that can be easily used to solve any problems. Legacy code should be easy to port.
- Extensibility: the library must be easily extensible, requiring no recompilation or any other modification to support new features; they must work as plug-ins.
- Performance and efficiency: since the library is for distributed computing, it has to be efficient, consuming as little processing time as possible.
- Network protocol independence: an abstraction layer makes it possible to change the underlying network protocols easily. The application can use the network protocol most efficient for its needs.
- Portability and interoperability: heterogeneous clusters and grid computing being every day more common, the library must be not only portable, but allow different architectures to interoperate seamlessly, something that is not true for most implementations of distributed computing solutions.
- Scalability: there is no use for a distributed solution that does not scale well. Glass has to work well in all sorts of environments, from small clusters to huge grids, and be able to adapt itself to achieve best results.
- Reconfigurable network architecture: most existing solutions are based on a fixed network architecture, usually Master/Slave or Client/Server.
Given the requirements of scalability and performance, and the fact that peer-to-peer applications are everyday more common, its unreasonable to fix the network architecture: the developer should be free to define how nodes will connect with each other.
- Reliability and fault tolerance: distributed computing often requires reliability. Its not acceptable that the misbehavior or crash of a single node crashes the entire computation.
As clusters grow in size and grid computing becomes more common, the MTBF (Mean Time Between Failures) shrinks to a point that it cannot be ignored.
libGlass must be able to handle node crashes gracefully, keeping the application running and avoiding deadlocks and other problems that could arise from the node crash. Nodes should be allowed to join or leave at anytime.
- Thread support: the library must be completely thread-safe.
With clusters of symmetric multiprocessors (SMP) computers becoming more common and new technologies such as HyperThreadingTM, its unacceptable for a distributed computing framework to have thread issues.
Main features:
Plugins:
- Synchronous shared memory
- Distributed asynchronous events
- Synchronization barriers
- Remote aliases
Protocols:
- TCP/IP
- UDP/IP (unfinished)
Architectures:
- Client/Server
- Pure peer to peer (planned)
- Hierarchical (planned)
- Anonymous peer to peer (planned)
Bindings for:
- Java (mostly finished)
Enhancements:
- Fixed packaging problems that could abort compilation
The Glass framework is a scalable set of components that can be used by applications to perform distributed computing. Applications are built reusing the available components as needed.
One of the major goals of libGlass is to be a user-friendly framework, not only suitable for new applications, but also for legacy code.
This is an important feature, as most available solutions for distributed computing require a substantial amount of rewrite of legacy code; some of them require a complete change of the application design.
libGlass was designed to achieve the following goals:
- User transparency: the library must be as transparent as possible. Any tasks that are repetitive or that can be done automatically should be done by the library, without user intervention.
The API (Application Programmers Interface) should be simple and intuitive, with a smooth learning curve and provide high level primitives that can be easily used to solve any problems. Legacy code should be easy to port.
- Extensibility: the library must be easily extensible, requiring no recompilation or any other modification to support new features; they must work as plug-ins.
- Performance and efficiency: since the library is for distributed computing, it has to be efficient, consuming as little processing time as possible.
- Network protocol independence: an abstraction layer makes it possible to change the underlying network protocols easily. The application can use the network protocol most efficient for its needs.
- Portability and interoperability: heterogeneous clusters and grid computing being every day more common, the library must be not only portable, but allow different architectures to interoperate seamlessly, something that is not true for most implementations of distributed computing solutions.
- Scalability: there is no use for a distributed solution that does not scale well. Glass has to work well in all sorts of environments, from small clusters to huge grids, and be able to adapt itself to achieve best results.
- Reconfigurable network architecture: most existing solutions are based on a fixed network architecture, usually Master/Slave or Client/Server.
Given the requirements of scalability and performance, and the fact that peer-to-peer applications are everyday more common, its unreasonable to fix the network architecture: the developer should be free to define how nodes will connect with each other.
- Reliability and fault tolerance: distributed computing often requires reliability. Its not acceptable that the misbehavior or crash of a single node crashes the entire computation.
As clusters grow in size and grid computing becomes more common, the MTBF (Mean Time Between Failures) shrinks to a point that it cannot be ignored.
libGlass must be able to handle node crashes gracefully, keeping the application running and avoiding deadlocks and other problems that could arise from the node crash. Nodes should be allowed to join or leave at anytime.
- Thread support: the library must be completely thread-safe.
With clusters of symmetric multiprocessors (SMP) computers becoming more common and new technologies such as HyperThreadingTM, its unacceptable for a distributed computing framework to have thread issues.
Main features:
Plugins:
- Synchronous shared memory
- Distributed asynchronous events
- Synchronization barriers
- Remote aliases
Protocols:
- TCP/IP
- UDP/IP (unfinished)
Architectures:
- Client/Server
- Pure peer to peer (planned)
- Hierarchical (planned)
- Anonymous peer to peer (planned)
Bindings for:
- Java (mostly finished)
Enhancements:
- Fixed packaging problems that could abort compilation
libGlass 0.7.1 Screenshot
libGlass 0.7.1 Keywords
set of components
can be used
Distributed Computing
can be
should be
must be
used by
to perform
libGlass
computing
distributed
library
applications
network
libGlass 0.7.1
Libraries
Bookmark libGlass 0.7.1
libGlass 0.7.1 Copyright
WareSeeker periodically updates pricing and software information of libGlass 0.7.1 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of libGlass 0.7.1 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
distributed computing projects
distributed computing systems
distributed computing term
journal of parallel and distributed computing
case studies for distributed computing
distributed computing environment
home distributed computing
distributed computing definition
distributed computing earn money
distributed computing project which studies protein
distributed computing software
java distributed computing
can be used to heat large amounts of liquid
distributed computing java
distributed computing system
Data circuit-terminating equipment
distributed computing industry association
distributed computing wiki
Related Software
Linda is a widely studied distributed computing environment, centered around the notion of a tuple space. Free Download
Glan is a toolkit for developing network GUI applications. Free Download
Liblicense is a library for managing license metadata, in particular CC licensing information. Free Download
Libsqlfs is a library, used in conjunction with the popular open source SQLite database software. Free Download
LibSudoku is a Java library for writing applications that deal with Sudoku number riddles. Free Download
guitest is a Python helper library for testing Python GUI applications. Free Download
KBoincSpy is a KDE monitor and control utility for the BOINC distributed client. Free Download
POCO C++ Libraries project are the next generation C++ class libraries for network-centric applications. Free Download
Latest Software
Popular Software
Favourite Software