1. About Us
William E La Forge
A developer for 38 years, a research engineer and an
Open Source Project Manager since 1998. Has worked for
the Open Software Foundation (OSF) Research Institute,
serving on a US Presidential commission, a DARPA
Principal and CTO for JXML inc, a Staff Engineer at Sun
Microsystems and as Director of Engineering at Fiorano.
Current position is CTO of JActor Consulting Pvt.Ltd.
Rupali La Forge
A general manager of Apples n Cherries Preschool for
3 years, a manager in MNC Candy Treat for 2 years
and 18 months as computer instructor at Woman’s
Polytechnic College. Current position is CEO of JActor
Consulting Pvt.Ltd.
Contact Us
William E LaForge, CTO
E-mail: laforge49@gmail.com
Rupali La Forge, CTO
E-mail: jactorconsulting@gmail .com
Mobile: +91 9902622358
Solving a major issue
Vertical scaling is today a major issue when writing
server code. Threads and locks are the traditional
approach to making full utilization of fat (multi-core)
computers, but the result is code that is difficult to
maintain and which to often does not run much faster
than single-threaded code.
Actors make good use of fat computers but tend to be
slow as messages are passed between threads. Attempts
to optimize actor-based programs results in actors
with multiple concerns (loss of modularity) and lots of
spaghetti code.
The approach used by JActor is to minimize the messages
passed between threads by executing the messages sent
to idle actors on the same thread used by the actor which
sent the message. Message buffering is used when
messages must be sent between threads, and two-way
messaging is used for implicit flow control. The result is
an approach that is easy to maintain and which, with a
bit of care to the architecture, provides extremely high
rates of throughput.
2. JActor
JActor is a high-throughput Java Actor framework, one
of the fastest Actor implementations in any language.
· Two-way messages provide implicit flow
control, for better performance under load.
· A simple machine builder is included to help
keep application code clear and simple.
· A billion actors a second can be created on a
single thread.
· Fast message passing within the JVM.
Benchmark :
Shared
Mailbox
Across
Mailboxes
Asynchronous
Mailboxes
msgs
per sec
222,861,399 151,987,233 81,083,272
License: LGPL
JID
Fast deserialization/reserialization is critical for
databases. The key is to deserialize only what you
need and to keep the serialized data for items that have
not been changed for reserialization after an update.
Applications are built by subclassing existing JID
actors and then composing more complex structures
from them. The JID project includes a number of
actors which support different types of persistent data.
Benchmark :
Entries
Balanced List Jid
(BListJid)
Balanced Map Jid
(BMapJid)
1,000 014 ms .027 ms
10,000 035 ms 056 ms
100,000 .24 ms .48 ms
1,000,000 2.9 ms 6.9 ms
Times given above were for updating a byte array containing
a serialized list or table, i.e. the time to deserialize, insert a
new value (in the case of a list) and reserialize.
License: LGPL
JASocket
A light-weight cluster framework for Mobile Agents,
where the agents are implemented as actors.
License: LGPL
JFile
JFile builds on JActor and Jid, adding file persistence
and an in-memory database which has a throughput
of one million transactions per second when running
on an i7 with SSD.
Benchmark :
An in-memory database that has a throughput of 1
million fully durable transactions per second.
License: LGPL
Test Machine:
i7-3770 @ 3.40 GHz, ASUS P8Z77-M Motherboard,
16 GB Corsair DDR3 1600 MHz RAM and Vertex 3
SATA III SSD
We offer both consulting and
seminars to help you best leverage
our Open Source products, all
of which are freely available for
download from our website.