zNet Solutions from Multicore to Cloud

Are you developing new high performance applications or protecting your investment in existing ones by fully exploiting the capabilities of the latest multi-core processors or distributed network computing?

Are your applications no longer performing as originally designed and need to scale or extend their capabilities to meet growth or competitive demands?

Are you looking to take advantage of the cost benefits and on-demand availability provided by private or public clouds?

Wouldn’t it be great if all of these problems could be addressed by a single solution?

Legacy Application Migration

A valuable existing application may not be distributed so it doesn't scale effectively (internally or within the cloud) as the enterprise grows, nor does it leverage the power of multiple computers via distributed processing or effectively use multi-core processors now common on new computers. 

Perhaps you may already have a new or planned distributed application, but it won't automatically scale up or down as computers/cores are added or removed without manual configuration, nor does it balance the workload effectively between legacy and/or new distributed multi-core systems.Your goals are to determine a cost effective, low risk strategy for enhancing your software to accelerate application performance, scalability, and capability by leveraging advances in hardware/software infrastructure and software development technologies.

Cutting Edge Development

Your organization is responsible for developing and maintaining critical applications for internal and external customers using the latest hardware innovations, with the need to expand the software to match processing demands or a growing customer base. You need a lightweight toolkit with a common API that assists you in building high performance applications by

  • Making it possible to program multi-core and distributed code uniformly, 
  • Being lightweight and flexible so you can tailor it to meet your preferred application design and programming styles
  • Supporting several communication models between distributed components, 
  • Defining a set of services that provide a fault tolerant, high performance execution platform.

Purchase new software

You can purchase new software packages that are more modern and scalable, which may be fine for a standard shrink-wrapped application (such as HR, accounting, CRM, etc.). Even new software, however, may require expensive and lengthy customization and deployment (often taking months) to equal previous functionality. In addition, you'll lose your entire original investment, often negating hundreds of thousands or even millions of dollars of prior investment. This approach may not even be an option if you're dealing with a custom in-house proprietary application.

Rewrite the legacy application

You can start from scratch and rewrite the entire application using modern software development platforms and tools. In addition to losing your entire previous investment, the development expense and time may be unpredictable and it may take years to achieve the previous capability. Some applications are never finished and work is scrapped before being deployed. The expense and risk of this approach is therefore high.

Replace the development platform

Various software development platforms can help your accelerate your efforts to scale up legacy applications. These platforms require rewriting everything in new languages (such as Java or Scala), however, and still won't increase application performance significantly, so you'll end up with a distributed-but unnecessarily slow-application. Plus, these platforms require you to hardcode your legacy code to the platform architecture (instead of being flexible enough to work with your existing code), and often require you to recreate much of the application business logic. In many cases this approach may break the code and require almost as much rebuilding and testing (of all the features) as a total rewrite.

Applying virtualization tools

Some tools are available to migrate applications onto virtual machines. While these virtualization tools are useful for off-loading system administration and operations procedures and shielding applications from hardware/software infrastructure diversity, their overhead unnecessarily slows down performance. Moreover, virtualization does not optimize multi-core or distributed computing effectively. As a result, virtualization does not satisfy the primary goals behind the software enhancement project.

So, how can you maximize your chance of success to leverage legacy code, keep business logic and proven functionality, and uphold prior investments without purchasing new expensive software or rewriting the code from scratch or replacing the development platform? Moreover, how can you avoid incurring virtualization overhead, as well as scale up to a distributed and/or multi-core parallel computing environments-all while minimizing development and integration time, cost, and risk?

Consider Zircon's zNet® platform as your... Best Option

Zircon Computing developed the zNet® software framework and tools to minimize the programming effort of distributing and scaling application business logic. zNet facilitates the development of high performance applications that can be parallelized and distributed on a range of hardware, from multi-core to cluster to private or public cloud. By supporting this range of hardware within a common architecture and API, zNet decouples the application development process from hardware architecture and deployment decisions.

To increase application developer productivity zNet offers programming patterns for decomposition and distribution of business logic, as well as implementations of various communication and parallel programming patterns that shield application developers from complex concurrency and networking mechanisms. Applications built using zNet are known as Zircon-enabled applications and possess the following characteristics:

  • They are distributed and/or parallelized, i.e., their computations can run concurrently on multiple processors and/or cores,

  • They can be scaled elastically, i.e., the number of processors and/or cores can expand or contract dynamically without requiring any changes to application business logic, and

  • They are deployment agnostic, i.e., they can be deployed seamlessly on a single multi-core/multi-processor system and/or to networked multi-core processors on other independent systems 

Unlike a total rewrite, Zircon provides an entirely new, patent-pending middleware platform for evolving your new or existing code into an accelerated and scalable application that can run in distributed and/or multi-core parallel computing environments (including private, public, or hybrid cloud configurations)-with the lowest cost and shortest time frame.

There are five main reasons to consider Zircon software:

  1. Reduces expenses, by leveraging legacy code
  2. Accelerates performance and increases scalability and functionality
  3. Minimizes development, integration, deployment, and administrative time and effort
  4. Enables evolutionary transition to a robust and scalable middleware infrastructure that is decoupled from business logic and provides a stable platform for future expansion
  5. Integrates with a range of databases and interconnection technologies

 
  1. Zircon software reduces expenses by leveraging legacy code and maintains robust features and business logic
    • Don't re-buy or rewrite—instead conserve and revitalize. Zircon software enables an evolutionary approach that incrementally improves legacy systems, rather than rewriting entire projects from scratch, while immediately leveraging advances in hardware/software infrastructure, such as multi-core chipsets and clouds, which ensures the resulting software enhancements work as expected and have proven business value.
    • Minimal IT training. Zircon software keeps legacy software and business logic intact, which ensures that existing IT staff can continue to reuse and build upon existing application functionality without requiring extensive (and costly) training needed to create an entirely new software system/platform.
  2.  

  3. Zircon software dramatically accelerates performance and increases scalability and functionality
    • Multi-core enabled. Zircon software allows applications to scale up to use newer multi-core machines and technologies, which ensures application performance can improve linearly with the number of cores on a chipset.
    • External-core functionality. Zircon software allows applications to scale out to any external network or cloud deployment, which ensures application performance can improve linearly with the number of external processing resources.
    • Automatic real-time load equalization . Zircon software automatically equalizes the load in real-time between all available network processors.
    • Automatic Service Discovery . Zircon software dynamically discovers and optimizes all available distributed services at runtime, with no manual administrative input.
    • Automatic Real-time Monitoring and Auditing. Zircon software provides powerful tools for automatically monitoring and transparently auditing huge volumes of application and system events, which facilitates transparency in the software decision making.
    • Persistent and recoverable. Zircon software uses a self-adaptive, fault-tolerant architecture, which ensures that applications automatically recover and transparently re-execute requests on different servers if existing servers disconnect or fail.
    • Distributed data caching. Zircon software can cache large data structures on servers by sending the data just once, then sending a reference to the cached data on each server during each request, which ensures that communication overhead is minimized compared to computation time.
    • Fast data transfer. Zircon software automatically generates optimized binary protocols for communicating between senders and receivers, which ensures that data transfers are much faster than tag-based protocols (such as HTML, XML, and SOAP).
    • No virtualization overhead. Zircon software runs at native operating system speeds on heterogeneous operating systems, hardware platforms, programming languages, and network environments, which ensures there is no overhead associated with virtualization technologies.
  4.  

  5. Zircon software minimizes development, integration, deployment, and administrative time and effort
    • No server-side development. Zircon software offer COTS C++ application servers that can execute existing application functions and algorithms in parallel without requiring any server-side development, which ensures quicker development and can fully employ existing servers—including those within “the cloud.”
    • Reduced testing. Zircon software allows you to maintain the business logic of your legacy application, which significantly reduces the amount of re-testing, while saving time and ensuring a smooth transition.
    • Incremental deployment. Zircon software can utilize multiple machines to distribute your application without having to take the network down, which ensures little/no downtime when parallelizing and distributing the upgraded applications.
    • Minimal application development. Zircon software is designed as a component-based framework that contains many “knobs”, which enable operators and users to extend and tune applications and middleware transparently to support new user requirements and feature enhancements.
    • Maintains application security. Zircon software can operate without needing to know application data and sensitive business logic, which ensures that your data is always secure and confidential.
    • Platform independence. Zircon software allows the deployment of any distributed and/or collocated computation on any popular operating system or platform with complete and automatic interoperability, which ensures platform-independence (e.g., a 32 bit Windows application can work on 64 bit systems and leverage the processors on Linux, Solaris, AIX, Mac, and other operating systems) without having to re-write or port the applications themselves since Zircon handles these conversions automatically.
  6.  

  7. Zircon software’s enables evolutionary transition to a robust and scalable middleware infrastructure that is decoupled from business logic and provides a stable platform for future expansion
    • Decouple infrastructure from business logic. Zircon software decouples the middleware, operating systems, processor, and networking infrastructure from your application business logic, which makes it possible to make independent changes in the business related objects to utilize the best suited concurrency and distribution model supplied by zNet.
    • Uniform concurrency and messaging model. Zircon software provides a uniform approach and API for local and distributed services, which enables easy switching between various distribution models to achieve the optimal utilization of available hardware and networks.
    • Data/event driven architecture. Zircon software recognizes any user defined and built-in data types and facilitates event binding to such types locally or across the network, which provides a natural platform for programming complex event driven distributed architectures.
  8.  

  9. Integrates with a range of databases and interconnection technologies
    • Database-independent. Zircon software can be used with any popular database or database interface, ranging from relational data accessed via SQL/ODBC or distributed file systems (such as those provided by Google and Hadoop), which ensures your applications never depend on proprietary databases.
    • Interconnection-independent. Zircon software can be run across a wide range of interconnection topologies, ranging from n-way multi-core chipsets (such as the 8 core AMD Opteron 6134) to massively multi-core platforms (such as the 1024 core SGI Altix) to private, public, and hybrid clouds, which ensures that specific deployment needs and specifications are met.

Five main reasons