CaLi   Generic Computational Buffers Library

Current Release: 4.1 dp1


Development Frozen!

The further development of the library has been frozen. We hope to use experience gathered in this project to reimplement CaLi in the form of new framework for large scale distributed caching.


News

CaLi 4.1 DP1 released (20.01.2005)

Preview of CaLi 4.1 available.
New model of CacheCommunicator has been implemented (thanks to Piotr Kopta).

Introduction

For a long time caching has been used to improve efficiency of various software and hardware systems. Today, cache applications include hardware, Internet with web-caching and P2P networks, databases and complex computational systems. CaLi library (or caching library) has been designed as a C++ framework which allows to build any type of local or distributed cache.

Basic concepts

The CaLi library has been developed as a strictly scientific project with a high quality implementation. The main idea behind CaLi is to provide a set of basic concepts and models which next can be used to implement complex cache systems. The main assumption of the project is to provide high flexibility at the same time preserving high efficiency. In the current release the library provides interface to implement both, local and distributed cache systems.

Compiler status

The CaLi library relays on many C++ features such as templates and it strongly uses a C++ Standard Library. It is fully ANSI/ISO C++ compliant and it should work with any standard conforming compiler. However, thread support can be utilized only if POSIX threads implementation and thread-safe Standard Library are available.

The library has been successfully tested and reported to work with following compilers:
  • gcc 3.x
  • Intel C++ >= 5.0
  • MIPSPro C++ 7.4
  • Comeau C++ 4.3.0.1, 4.3.3
  • M$VC 7.1 (thanks to Andrzej Grosser)
  • Support

    If you have any questions regarding CaLi or CaLi related work, do not hesitate to contact us.
    Any kind of feedback will be greatly welcomed.

    Download

    The latest CaLi version is 4.1 DP 1
    File Size [B] MD5 sum
    cali-4.1-dp1.zip219259c403595047ff2f378d4683726b19667d
    cali-4.1-dp1.tar.gz136017fde25541a727f2d29614c8439fa07b90
    cali-4.1-dp1.tar.bz2112548197b2a44e8e01d3a1853185067833399
    cali-4.1-dp1-doc.zip3209630068eac339a5ca5faec98dedfe9bd79f
    cali-3.2-dp1.zip19161969f95d2e68cd4a55cc09fe707f7a09f2
    cali-3.2-dp1.tar.bz21014161575e64420acf8707114939dbbd206e4
    cali-3.2-dp1-doc.zip268212c0d1715fbf12759a8952d8b04179df85
    cali-1.2.zip94840eea5f499fa10d157f6aea0bb90dcb3e5
    cali-1.2.tar.bz2536450a8cee3917e017e3202c30d3e9ab1e53
    cali-1.2-doc.zip2228452afc70ed7c472b68b93a9ea0af2a4a5f
    cali-1.2-3.src.rpm560530686e7697bbd828e68f0ef3636e4be9b
    cali-1.2-3.i386.rpm3195338da4ab6db056e5beefa38d806bcb1d2

    To compile the library you will need Jam/MR build tool (version newer than 2.3). It can be downloaded from http://www.perforce.com.

    To use mpi2_comm communicator you have to provide MPI-2 implementation supporting MPI_THREAD_MULTIPLE model. For example, MPICH2 or OpenMPI.

    The most up to date source code of the library can be found in the svn repository of ICIS (authorization required).

    Last update 01.01.2006