UNICORE (Uniform Interface to Computing Resources) offers a ready-to-run Grid system including client and server software. UNICORE makes distributed computing and data resources available in a seamless and secure way in intranets and the internet.
Allegra is an innovative library for web peer applications development. It provides a framework for asynchronous network peer programming, a simple stack of Internet standards implementations, and two new network applications: a disruptive metabase peer a
memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
SmartFrog is a powerful and flexible Java-based software framework for configuring, deploying and managing distributed software systems.
SmartFrog helps you to encapsulate and manage systems so they are easy to configure and reconfigure, and so that that they can be automatically installed, started and shut down. It provides orchestration capabilities so that subsystems can be started (and stopped) in the right order. It also helps you to detect and recover from failures.
Such systems typically have multiple software components running across a network of computing resources, where the components must work together to deliver the functionality of the system as a whole. It's critical that the right components are running in the right places, that the components are individually and collectively correctly configured, and that they are correctly combined to create the complete system. This profile fits many of the services and applications that run on today's computing infrastructures.
SmartFrog consists of:
A Language for defining configurations, providing powerful system modelling capabilities and an expressive notation for describing system configurations
A secure, distributed Runtime System for deploying software components and managing running software systems
A Library of SmartFrog Components that implement the SmartFrog component model and provide a wide range of services and functionality
This report has been commissioned from occupational psychologists
Pearn Kandola by Cisco Systems to examine the dynamics of virtual,
geographically-distributed teams and how the application of electronic
communications in the workplace could impact the effectiveness and
success of teams.
Redis is a key-value database. It is similar to memcached but the dataset is not volatile, and keys can be strings, exactly like in memcached, but also lists and sets with atomic operations to push/pop elements. In order to be very fast but at the same time persistent the whole dataset is taken in memory and from time to time and/or when a number of changes to the dataset are performed it is written asynchronously on disk. You may lost the last few queries that is acceptable in many applications but it is as fast as an in memory DB (btw the SVN version of Redis includes support for replication in order to solve this problem by redundancy). Replication and other interesting features are a work in progress (Basic master <-> slave replication implemented in Redis SVN). Redis is written in ANSI C Redis is pretty fast!, 110000 SETs/second, 81000 GETs/second in an entry level Linux box.
James Hamilton has published a thorough summary of Facebook's Cassandra, another scalable key-value store for your perusal. It's open source and is described as a "BigTable data model running on a Dynamo-like infrastructure." Cassandra is used in Facebook as an email search system containing 25TB and over 100m mailboxes. # Google Code for Cassandra - A Structured Storage System on a P2P Network # SIGMOD 2008 Presentation. # Video Presentation at Facebook # Facebook Engineering Blog for Cassandra # Anti-RDBMS: A list of distributed key-value stores # Facebook Cassandra Architecture and Design by James Hamilton
concurrent paradigm, namely functional programming extended with threads and ports, which I call multi-agent dataflow programming. * The declarative concurrent subset (no ports) has no race conditions and can be programmed like a functional language. The basic concept is dataflow synchronization of single-assignment variables. A useful data structure is the stream, a list with dataflow tail used as a communication channel. * Nondeterminism can be added exactly where needed and minimally, by using ports - a named stream to which any thread can send. * All functional building blocks are concurrency patterns. Map, fold, filter, etc., are all useful for building concurrent programs. * Concurrent systems can be configured in any order and concurrently with actual use of the system. * Designing concurrent programs is any declarative part of the program can be put in own thread, loosening the coupling between system's parts * The paradigm is easily extended
A. Imine, P. Molli, G. Oster, and M. Rusinowitch. Tenth International Conference on Algebraic
Methodology and Software Technology - AMAST 2004,
Stirling, Scotland, United Kingdom, volume 3116 of Lecture Notes in Computer Science, Springer, (July 2004)
E. Dijkstra. Programming Languages: NATO Advanced Study Institute, Academic Press, http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD123.PDF -- last visited $8^th$~December~2007.(1968)