Korus - Harnessing The Power Of Multi-core Technology


Published on

Multi-core technology is revolutionizing computing, providing new, and unique ways of drawing energy efficient performance from processing systems.
Korus is a futuristic approach that enables developers to create programs ready for the next-generation multi-core hardware.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Korus - Harnessing The Power Of Multi-core Technology

  1. 1. Harnessing the power of multi-core technology<br />Korus is a futuristic approach that enables developers to create programs ready for the next-generation multi-core hardware.<br />Multi-core technology is revolutionizing computing, providing new, and unique ways of drawing energy efficient performance from processing systems. Typically, multi-core systems are made up of two or more independent cores that deliver full parallel execution of multiple software threads. <br />Stated to be the next phase in computing, multi-core technology is powering virtually all new and emerging IT hardware and devices including smart phones. Just as with single processor systems, cores in multi-core systems may implement architectures such as superscalar, VLIW, vector processing, SIMD, or multithreading. Chip maker Intel, has demonstrated a 48-core processor, the new processor from Tilera Corp. will feature 100 cores and companies such as Apple (with its iPhone 4G) and Ericsson (with its U8500 dual core device) will harness the power of multi-core computing.<br />While clearly multi-core is the next step, the key challenge that may prevent the proliferation of the technology is the absence of enterprise applications that can leverage its benefits. Today, nearly 90 percent of enterprise applications are not “multi-core” ready and unable to derive the benefits of the parallelism provided by the underlying multi-core hardware. <br />Incidentally, enterprise applications also run at a slower rate now on multi-core technology as compared to when they ran on single-core processors. This is on account of the slower clock speed of multi-core processors and the fact that applications are still running on the traditional single-threaded architecture. It is therefore becoming necessary to write software applications that exploit the multi-processor architecture in use today and opt for concurrent programming or parallel programming to overcome software applications challenges. Since this is itself a tough task, several languages have come up that back concurrent programming through first-class syntax support, or through higher level user libraries. These include Erlang and Scala, which share a common concurrency model—actors.<br />The Actor model: playing a key role<br />The actor model is a concurrency abstraction based on the concepts of message passing concurrency. It is different from the shared state concurrency model used in general purpose languages such as Java, but is more efficient and easy to program with. The advantage of message-passing concurrency lie in the fact that it is safer (as there are no shared resources so there is no possibility of corrupting the data due to concurrent access), it is faster (as there is no resource synchronization and therefore no bottlenecks, deadlocks, etc.), and easier. The actor concurrency model is a form of message-concurrency. It is based on actors, which are the computational units that send messages and react to receive messages by executing a given function. It is also cantered around messages, which are used by actors to exchange data and carry on the computation as well as mailboxes that store received messages that haven’t been processed. Actors can communicate with each other by sending messages <br />to their mailboxes and process the messages by executing at behavior function. The concurrent system deployed through the actor concurrency model is believed to be parallel, scalable, and reconfigurable. It is therefore considered a good option to building highly concurrent systems.Korus: making programs ready for next-generation hardware<br />Recognizing the growing importance of the actor concurrency model, Impetus has come up with Korus, a simple, yet powerful parallel and distributed programming framework which improves the performance and scalability of Java applications. Korus is a futuristic approach that makes programs ready for the multi-core hardware.<br />Korus’ edge over other competing actor model implementations like Kilim, Actor foundary, Jetlang etc., is based on the fact that it is the best performing actor pattern available till date—nearly 15-20 percent faster than its closest best performing Framework. It is one of the first “pure” actor pattern Frameworks in Java—not requiring compile or run-time weaving—which allows it to adapt easily to existing applications. Easy to understand and use, Korus helps increase productivity and cut software development costs.<br />The unmatched Korus edge: bringing more power to developers<br />Korus is currently the only actor framework which scales across both Cores and the Cluster/Grid, enabling remote process calls to maximize performance and scaling. At the same time, it is powered by a rich set of parallel programming constructs like parallel_for and pipeline that ease the development effort. Korus is not just a Framework or library. It is designed like a platform which allows developers to write their own Add-ons. Korus provides cross-language connectivity, using a Cross Language Adapter, which acts as a bridge between Korus Runtime and other languages. <br />The Korus platform offers a simple and easy method for applications to exploit concurrent processing without large development costs that are required to add multi-threading to a traditional application. <br />It is becoming apparent then that Korus empowers developers to write “inherently” parallel applications that can map to hardware such as multi-core processors for optimal performance. Being an open-source, distributed and parallel programming Framework based on the actor concurrency model, it can help build highly scalable and high performing applications in Java. Since it is programmer intuitive and light-weight, the Korus Framework can be adopted easily and seamlessly with Java programs. By using Korus, developers can focus on business logic instead of wasting their time on details related to implementing concurrent processing. Korus allows organizations to not just lower development costs, but also capital expenses. There is a vast improvement in application performance and the same throughput results can be achieved with very limited hardware. Since Korus tackles massive scalable problems, companies can now tap new types of business opportunities, thereby adding to their revenue streams.<br />DisclaimersThe information contained in this document is the proprietary and exclusive property of Impetus Technologies Inc. except as otherwise indicated. No part of this document, in whole or in part, may be reproduced, stored, transmitted, or used for design purposes without the prior written permission of Impetus Technologies Inc.The information contained in this document is subject to change without notice.About ImpetusImpetus Technologies offers Product Engineering and Technology R&D services for software product development. With ongoing investments in research and application of emerging technology areas, innovative business models, and an agile approach, we partner with our client base comprising large scale ISVs and technology innovators to deliver cutting-edge software products. Our expertise spans the domains of Data Analytics, Large Data Management, SaaS, Cloud Computing, Mobility Solutions, Testing, Performance Engineering, and Social Media among others.Impetus Technologies Inc.5300 Stevens Creek Boulevard, Suite 450, San Jose, CA 95129, USATel: 408.252.7111 | Email: inquiry@impetus.com Regional Development Centers - INDIA: • New Delhi • Indore • Hyderabad To know more visit: http://www.impetus.com <br />