Gaining performance by Multi-threading
Translation COBOL applications to Java or C# opens the door for utilization of today's cheaper multi-core processors and cloud based deployment.
For online application
, the performance of Java/C# applications has always been easily managed using server-side load balancing techniques.
However, batch processes require some additional manual enhancements to allow them to benefit from multi-threading/multi-core processors on the cloud.
The work usually involves parallelization of program loops
where most of the execution time is spent.
Parallelization of batch processes together with the use of cloud-based deployment will allow each batch process to be conducted faster through the availability of multiple process cores.
Meanwhile the running costs will be reduced
as additional processors may be added (on the cloud) only for the duration of the process.
SoftwareMining Parallization APIs for translated Java / C# code
SoftwareMining now includes a set of APIs within its framework to facilitate cyclic multi-threading
for translated applications through small and limited manual changes.
The facilities provided within the framework includes:
- Start-up options - the framework can automatically launch and manage multiple instances of a batch program
- Advanced load and cache for static (no-changing) input data - having the data in memory offers much faster access to the data for launched instances
- Patterns for identification/division of work between launched instances (e.g. process records for clients A-M in thread-1, and N-Z in thread-2)
- Synchronization Barrier - allowing system to wait for completion of all instances before moving to next stage (e.g. writing the data).
- Clean-up on completion.
See Parallelization Technical Overview and Examples
For more information about cyclic multi-threading
: Wikipedia - Automatic parallelization
SoftwareMining is a trademark of Software Modernization Technologies Ltd (UK).
Registered in England company no: 07300248. Reg Offices: 79 Stevens House, Jerome Place, Kingston Upon Thames, KT1 1HX, United Kingdom.