What is the difference between GT and other distributed computingstartups technologies
- What is the difference between GT and other distributed
computing startups technologies?
- Why is GT a true Peer-to-Peer (P2P) network?
- Can it be applied to both coarse and fine PP
Applications?
- Can we use GreenTea to solve a very large time consuming
Scientific and Engineering problem?
- Is Java ready for scientific computing?
- What's the current Java's performance in
comparison
with Fortran, C, C++?
- Why is the technology named "GreenTea"?
- What are the requirements and procedures to join GreenTea?
- Who wrote the OS of GT? Where I may get further info
about it?
- What programming language did you use to write GT? How
big is the GT software package?
- What's the current status (e.g. applications running,
results etc.)?
- What is below GT? (I know it is Java but how is the communications
organized?)
- What is the level of availability of GT? Can we obtain a
version for evaluation?
- Are there any installation requirements (e.g.
types of platforms, resources, etc.)?
- Where I may get further info?
Why is GT a true Peer-to-Peer (P2P) network?
In the GT network, every computer can help other computers' computation, and
every computer can also make use of any other computer's resources as well. Each
individual in the network is an independent Peer to one another. They can take
advantage of one another's shared resources. The collective result is that from
any individual desktop, it seems that one has a supercomputer in front of him.
What is the difference between GT and other distributed
computing startups technologies?
There are several differences. The major differences are the following:
- GT is bi-directional. GT is a true P2P network, while most of others
are really client/server-based network. This means that in GT network,
any individual can perform supercomputing applications, while in others,
only the server can dispatch tasks to clients to perform supercomputing -
individuals are contributors only. In GT, individuals are not only
contributors, they are also beneficiaries as well. In GT, an individual can
perform any GT-enabled supercomputing/parallel compouting applications from
any computers in the GT network.
- GT is written entirely in Java. GT runtime system is cross-platform
because it is written entirely in Java. Most of other systems are
platform dependent, application dependent. It requires applications to be
recompiled to target different machine architectures. GT applications are
written in Java so GT application developers write once, run on all
platforms.
Can it be applied to both coarse and fine PP
Applications?
GT's parallelism is at the thread level of a typical operating system.
What's the current status (e.g. applications running,
results etc.)?
The GreenTea technology is in beta trial stage. We have two demo
applications, one is the Factoring application which computes factors of
arbituary larges number set (30 to 90 large numbers). The other demo application
is the computer graphic Ray Tracing application which generates complex computer
graphics. Both applications are very compute-intensive. In a heterogeneous
network of 10 machines (PCs and Sun workstations), up to 7.6 times speedup can
be achieved. In certain network configurations, more than 10 times speedup is
achieved, due to the fact that some helper machines are faster than task
originator machines.
Currently we are looking for applications to realize the true value of the
GreenTea technology. We would greatly appreciate it to hear your ideas and
thoughts about applying GT technology in any potential applications in your
domain area. Your input is very much welcome!
Why is the technology named "GreenTea"?
The reason we named the technology as GreenTea is that Green Tea is the Oriental
equivalent of Java. GreenTea is indeed a very powerful platform,
equivalent to the Java technology. It is our desire to share this vision with any
individuals and organizations in order to realize the true potential of this great
technology. Currently we are looking for people and organizations to apply this
technology to their specific domains. If you think you or your colleagues and
friends can apply this technology in their domain area, please email
us directly and we can discuss further opportunities of cooperation.
What are the requirements and procedures to join GreenTea?
The requirements and procedures to join GT is very simple and
straightforward. Any Java-enabled networked PCs/Unix/Solaris/Linux/Machintosh
machines can run GT. All of the machines running GT software form a GT network
where every machine can share each other's compute resources, so in GT network
every machine can start a GT-enabled parallel supercomputing application. This
is why GT is a true P2P network. This is particularly convenient for scientists
and engineers to run supercomputing applications from their desktop concurrently
by using idle computing resources. On the business side, the software
package is available through software license. Please email
us for details about GT license.
Can we use GreenTea to solve a very large time consuming
Scientific and Engineering problem?
Definitely yes! A large complex problem can be divided into many smaller and
easier sub-problems. You would get the most benefit if your application is
written in Java. The performance of Java is getting much better now than before.
I'll show you the performance study between Java and C in the next question. The
basic GT application programming model is:
gt.register();
for n subtasks, gt.putSubTask();
for n subtasks, gt.getResults(subtaskID);
gt.deregister();
GT's API is very simple. The above 4 APIs are the basic APIs of the GT
platform.
What's the current Java's performance in
comparison
with Fortran, C, C++?
Here is an article comparing performance of Java with C language: http://www.aceshardware.com/Spades/read.php?article_id=153.
As you can see, in some cases, Java's hotspot performance engine (come with
JDK1.3) achieves better performance than standard C. The reason is that Java
Hotspot performance engine is able to dynamically identify the hotspot of the
Java program and do dynamically linking, inlining and optimization, which C
language can not do such optimizations because C is statically compiled.
By using Java, GT applications, unlike other traditional parallel
applications, do not require the binary/bytecode to be residing in the remote
machines physically. The code will be dynamically transmitted to the
remote machines for execution. This removes a big headache in order to run a
parallel application.
Is Java ready for scientific computing?
Here is a very good article
to explain Java for scientific computing.There are also translator software
tools that converts Fortran to Java bytecode.
Even with legacy code, GT can still contribute its value. GT is heterogeneous in
nature. It runs on all platforms as long as there is JVM(Java Virtual Machine)
for that platform. Currently JVM is available from Windows, Unix, Linux,
Machintosh, to mobile devices. So there is huge potential in the direction of
Java. GT is futuristic in visioning and pioneering technology of tomorrow, and
riding the wave of enabling technologies to achieve what others can not achieve.
What is below GT? (I know it is Java but how is the communications
organized?)
GT does not make use of any existing parallel communication protocals or
framework such as MPI, PVM, etc because they are more complex and
cumbumsome. For example, in order to run a traditional parallel application, the
binary code must be physically residing on the remote machine. If there are 50
machines, the parallel application code must be intalled in 50 machines, or must
be installed to a well-known directory which each machine knows to locate the
subtask binary code. In addition, the binary code must be recompiled for a
specific machine/CPU/OS architecture, e.g. for Windows machine, the binary needs
to recompiled to the Window's platform; for Linux machine, it needs to be
recompiled to Linux platform; for Sun Solaris machine, it needs to be recompiled
to Solaris platform, and so on... In GT, the GT application code do not need to
be known to remote machines because the subtask code is dynamically downloaded
to remote machines. Since it is Java bytecode, any Java-enabled computing
devices can contribute to help executing GT subtasks. So GT network is a
heterogeneous network.
The communication among GT machines is through customized RMI (Remote Method
Invocation). For example, GT applications running on the GT runtime on machine A
sends subtasks to other GT machines in the GT network. The subtasks running on
remote machines send results back to the GT application on machine A.
Who wrote the OS of GT? Where I may get further info
about it?
Chris Xie single-handedly wrote the OS of GT, as well as porting the demo
applications to GT. So he can answer any questions regarding GT. Just email
him.
What programming language did you use to write GT?
How big is the GT software package?
GT is written entirely in Java programming language. The total size of the
current version of the GT software package, including API documents, demo source
code, is about 250K in winzip format. The GT kernel without the UI code is very
small memory footprint. It's about 100K in Java jar format.
Are there any installation requirements
(e.g. types of platforms, resources, etc.)
Any Java-enabled networked platforms can run GT. GT has been tested on
Windows and Solaris unix machines. A basic PC requirement is: Pentium II CPU
200MHz, 64M RAM, with 10/100Mbps Ethernet connection. We also found GT works on
dialup Internet connections.
What is the level of availability of GT? Can we obtain a
version for evaluation?
GT is available for beta trial upon signing a Non-Disclosure Agreement (NDA).
Please email us for details.
Where I may get further info ?
You can visit our website at www.GreenTeaTech.com,
or please email chris directly as he is the
inventor of the GreenTea technology.
times.