|
|
Details |
Zircon software supports three computing and communication models
required by many mission-critical applications that need high
performance:
- Application
function parallelism, such as the capabilities provided by
computation grids to run application operations in a cluster of servers
as if they are programmed for a single computer. The zFunction function
parallelism API and supporting tools hide many low-level network
programming concerns and unexpected complexities, simplifying
fine-grained application parallelization.
- Application
executable parallelism, such as the capabilities provided
by data centers and clouds to launch applications on demand. The zExec
application execution parallelism service runs any executables in a
cluster of servers as a set of parallel jobs, thereby simplifying
coarse-grained application parallelization.
- Service
delivery platforms, such as the capabilities provided by
distributed computing environments that support cooperating business
tasks via distributed infrastructure patterns, such as Messaging,
Broker, and Publisher/Subscriber. The zNet API provides a C++ interface
to the zNet service delivery platform that handles service discovery,
reliable multicast communication, request load balancing, and request
dispatching.
Requests from applications that use these models can run on processors
and cores in a collocated and/or distributed manner, with the choice of
collocation or distribution largely transparent to the application.
Zircon software runs on most general-purpose and real-time operating
systems with native support without virtual infrastructure overhead.
|
Key Features |
Parallel programming in
minutes!
Adaptive
real-time co-located load balancing
Zircon software’s load balancer distributes workload
equitably across servers (and/or local cores) while adapting to their
load and optimizing resources for performance-intensive applications.
Resources are allocated to applications where the value is highest,
thereby increasing the return on hardware investments.
Persistent and recoverable
Zircon software executes all requested calculations, even when hardware
or network failure occurs. Its self-adaptive architecture provides
immediate failover and recovery by re-executing requests at servers
that are still operational. All processing operations can be managed
persistently, preserving data and application integrity if processing
is interrupted and then re-executed.
Platform
independent
Using Zircon software, any distributed and/or collocated computation
can execute on any operating system or platform, with complete and
automatic interoperability. Its standards-based middleware supports
heterogeneous environments with no additional configuration effort. It
also portably handles low-level network programming concerns and
encapsulates heterogeneity in the network protocol stack.
Optimized for complex
computations
Zircon software provides innovative mechanisms to disseminate data to
servers using on-demand transfer operations and server-wide broadcasts.
Rather than sending data with each request, Zircon software can cache
large data structures on servers by sending the data just once, then
during each request sending a reference to the cached data on each
server. It can also notify all servers to reach a common checkpoint,
receive the new data and resume computation.
Scalable, predictable
performance
Zircon software creates threads to distribute requests to different
servers and synchronizes those threads using messages and locks. By
overlapping I/O and CPU computations, performance scales linearly as
more processors and/or cores are assigned to server tasks. And all of
this is done automatically and doesn’t require any
programming or configuration effort.
SOFTWARE BENEFITS
- Zircon PluginBuilder generates drop-in function
replacements to unlock your application delivering implicit parallelism
onto any available hardware
- Transparently distributes workload across available
computing resources, maximizing performance and ensuring all available
resources are fully engaged
- Balances workload across all assigned processors, whether
in a desktop, LAN/WAN, data center or cloud configuration
- Co-location of load balancer with your application
ensures highest levels of reliability and performance by eliminating
any hops between the application and its computation engine
- Fault-tolerant architecture with no single point of failure
enables seamless, automated failover in the event of equipment damage
or downtime
- Ideal for large-scale production environments where such
conditions are often the norm
- Portable to a wide variety of hardware platforms, operating
systems, programming languages and network environments
- Shields developers from the complexity of distributing
their application since they need not modify or rewrite code when
porting an application to a different operating system or platform.
Zircon software handles the conversion automatically.
- Accelerates any distributed application, including those
with huge volumes of very brief computations where communications
overhead is significant compared to actual computation time
- Automatically distributes, executes and coordinates
multi-stage processing, where different data sets are used for each
computation stage—eliminating yet another developer headache
- Extremely scalable, with linear, predictable performance
gains as additional computing resources are assigned
- Servers can be added or upgraded without disrupting
operations. (Zircon software automatically recognizes new processors
and re-balances the workload.)
|
|
|