Presentation on theme: "Emerging of Software Technologies Reporter: Jeremie Lucero."— Presentation transcript:
Emerging of Software Technologies Reporter: Jeremie Lucero
OpenCL Development Kit for Linux on Power OpenCL™ is the first open, royalty-free standard for cross-platform, parallel programming of modern processors found in personal computers, servers and handheld/embedded devices. Open Computing Language(OpenCL) greatly improves speed and responsiveness for a wide spectrum of applications in numerous market categories from gaming and entertainment to scientific and medical software.
OpenCL supports a wide range of applications, from embedded and consumer software to HPC solutions, through a low-level, high performance, portable abstraction. By creating an efficient, close-to-the-metal programming interface, OpenCL will form the foundation layer of a parallel computing ecosystem of platform- independent tools, middleware and applications. The OpenCL Specification is an open standard managed by the Khronos Group consortium, which manages other open industry standards such as OpenGL for graphics. OpenCL is a framework and language for parallel programming that takes advantage of heterogeneous processing platforms. OpenCL allows for parallel programming across a number of devices such as CPU, GPU and accelerators. The OpenCL framework and OpenCL C language abstracts the details of the devices which enables programmers to write portable HPC (High Performance Computing) applications and libraries to take advantage of the processing power of multiple heterogeneous compute devices on a system.
OpenCL includes a language for writing compute kernels and APIs for creating and managing these kernels. The compute kernels are compiled, with a runtime compiler, which compiles them on-the-fly during host application execution for the targeted device. This enables the host application to take advantage of all the compute devices in the system with a single set of portable compute kernels. The OpenCL Development Kit for Linux consists of the OpenCL Development Kit for Linux on Power libraries along with sample applications, documentation. The IBM XL C for OpenCL compiler is used to compile compute kernels that exploit the performance capability of the hardware.
GAIAN Database GAIAN Database (hereafter referred to as GaianDB) is a small (four-megabyte) dynamic distributed federated database (DDFD) that was written in Java™. GaianDB is an extension to Apache Derby that federates heterogenous back- end data sources (RDBMS databases, files, text indexes, and so on) using a logical table abstraction layer. However, its principal feature is its ability to autonomically discover and federate other GaianDBs, federating nodes such that a whole network of nodes can be formed. Its connectivity model is "biologically inspired" in that it strives to minimize network diameter and maximize connections to the most fit nodes. GaianDB advocates a flexible "store locally, query anywhere" (SLQA) paradigm.
GaianDB also provides a wide variety of other features, such as dynamic re-configuration; an "explain" network-route query option; in-memory tables and indexing; MQTT (MQ Telemetry Transport) integration; and contextual metadata. GaianDB has already been used in complex, distributed, semantic join queries for text analytics applications and has drawn the attention of significant customers in the military. GaianDB combines multiple technologies to reach data wherever it resides, whether on sensors, file systems, text indexes or RDBMS. It also includes some concepts taken from federation techniques, mobile ad-hoc networks, grid computing, and autonomic computing technologies in order to manage the overall database with a minimum of human intervention.
GaianDB's self-organizing implementation makes it easy to manage and to cope with failures or network topology changes, and it is easy to deploy GaianDB on thousands of devices and computers with no central management. An automatic query propagation mechanism allows an application to get to the specific data anywhere in the network just as if it were a local database. The fundamental research enabling the development of GaianDB was part of the USA-UK international technology alliance (ITA) research project. The research and subsequent development were performed by the Emerging Technology Services team in SWG Strategy and Technology.USA-UK international technology alliance (ITA) research project
FoCuS FoCuS is a general-purpose tool for improving the testing of an application. FoCuS aids in making sure that both the design of the application and the test suite are complete and cover every aspect of what the application is meant to do. FoCuS is independent of specific applications, while providing much of the functionality of existing domain-specific tools, such as test planning, design and requirements review, code coverage analysis and functional coverage.
IBM XML Index Advisor for DB2 for Linux, UNIX, and Windows Are you unsure which XML indexes you should create for your SQL/XML, XQuery workload? IBM XML Index Advisor for DB2 for Linux, UNIX, and Windows recommends the best set of indexes for your workload within your disk constraint. For DB2 pureXML, the tool outputs the DDL statements to create the recommended indexes and checks for duplicate XML indexes in your database.
Multicore Software Development Kit Multicore architectures have become very popular. To take full advantage of such processor architectures, developers have to introduce parallelism in their software. Developing parallel software is hard and error prone. Different types of tools to deal with concurrency related bugs are required to support the application development process.
The Multicore Software Development Kit (MSDK) for Java is a set of tools that developers can use to test, debug and analyze applications targeted for multicore hardware systems. These tools are capable of analyzing various concurrency related problems in the applications which arise due to different types of memory and synchronization errors. Also, the MSDK contains tools to do lock analysis and synchronization coverage analysis. Writing scalable and high-performance applications requires detailed analysis and profiling tools to help point out problem areas in the code. The MSDK provides tools to do profiling of all layers of the application execution stack.
The tools included in the Multicore SDK comprise of both static and dynamic analysis tools. The following are the set of tools included in MSDK V2.0: 1.Synchronization Coverage Analysis 2.Orange Box Analysis 3.Race Detection Tool 4.Deadlock Detection Tool 5.Lock Status Report 6.MHP Analysis 7.Performance Analysis Tool
Lotus Notes Command Line Client Lotus Notes Command Line Client is a program for reading and sending mail from the command line. The purpose of the command line client is to give users quick and easy way to check without the overhead of a fat client. More importantly, the command line client can be used in scripts. The IBM developerWorks space for NotesCLI is a micro-site focused on development of the Lotus Notes Command Line Client.IBM developerWorks space