tfh
Volume 18, Number 36 -- October 12, 2009

Reader Feedback on Moore's Law and the Performance Wall

Published: October 12, 2009

by Timothy Prickett Morgan

Last week, in talking about the future Power7-based servers from IBM, as I have been doing for the past several weeks, I brought up the idea that IT managers and programmers had better start thinking about how multicore and multithreaded chips with a lot more cores and a lot more threads might impact their applications. I received a thoughtful letter from a long-time i programmer, which gave me--and therefore you--some food for thought.


Hey, TPM:

The whole threads thing concerning RPG is bogus. Before one starts questioning RPG's performance with multi-threading, one should ask what the need for multi-threading is.

The serialization wait warning is true for any language, and in fact is the same performance issues described so well for the multi-threaded CPUs. If for some stupid reason one writes a multi-threaded program and has shared memory data, almost always a requirement for the threads to communicate with each other, and something shared is locked up waiting for something, similar to a record lock, then yes, performance suffers as both threads are waiting until shared memory is available. Very similar timing and such to CPU threads waiting for shared memory.

Now why would we do that with RPG? Often another thread is created for monitoring for messages, be it from an interface, communications such as sockets, or whatever. But we don't typically consider the socket or interface to be "waiting" unnecessarily and less efficient than before, etc. We in fact consider the overall end product to be more responsive in that input can be responded to while background processing is taking place, whereas previously input would only be responded to when background processing took a break to check. Now it would check a shared flag with interface thread but to interface there has already been a more immediate acknowledgement.

The real issue here is Java and its multiple threads in a job calling an RPG procedure from multiple threads. The RPG procedures/programs that participate in threads need to be compiled as serialized (same as in any language) and of course could become a bottleneck. This is true of any shared resource in any language.

Obviously the solution is architecting such that as much is duplicated as possible to minimize shared resources. So for example, a Java class is instantiated for each thread and duplicated within the job and is not a bottleneck. Yet if that class accesses a common resource, at some point you have to lock it with serialization and you can have threads waiting to access it.

I haven't tried any of this or dealt with these issues yet, but I've read the same warnings and considered it, and I consider that while issue regarding RPG specifically is technically accurate, but bogus. If the RPG code is doing anything halfway useful, then of course it should process round robin as called and ensure data integrity. It is also good sound architecture to serialize at such a solid modular entry as a subprocedure or program call.

I would view as data queue processing with a dataq server. Same thing, same concept, same results. In fact, the threads could (and traditionally we would) write to a dataq server instead. However, serialization would likely be a few microseconds faster but as with any threading any shared resources including our RPG programs that can be called from multiple threads need to be compiled as serializable to have only one thread executing in it at a time.

There was, of course, the whole thing about the RPG cycle code being non-reentrant so that by definition any RPG with a Main entry was a shared resource, and I understand that that has been improved in i 6.1 for improved participation of RPG in multi-threading but don't recall the particulars on it.

I think its enough that CPU threads can be granular at the job level for us to get full power from new architectures. I think it is totally bogus to suggest that RPG needs to be rearchitected for it. I also think it is totally bogus that Java would be considered better suited for it due to launching multiple threads. The bottom line is the actual work that needs to be performed, and if it was useful to launch multiple threads in a job, we would have figured out how to work around it a long time ago.

--Ralph


RELATED STORIES

Moore's Law and the Performance Wall

IBM to Mothball a Whole Bunch of Stuff with Power7

Start Planning for Power7 Iron Now

The Feeds and Guessed Speeds of Power7

Power 7: Lots of Cores, Lots of Threads

IBM Launches Power6+ Servers--Again

i Roadmaps: Here Be Dragons



                     Post this story to del.icio.us
               Post this story to Digg
    Post this story to Slashdot


Sponsored By
HELP/SYSTEMS

Robot/CONSOLE monitors your System i
resources--lines, subsystems, controllers, servers,
printers, message queues, or jobs--automatically.

Anytime a resource is not in its expected state,
Robot/CONSOLE responds. It can start or
stop programs, vary devices off or on, send messages--
practically anything.

Lose the burden of monitoring resources manually.

Request your FREE Information Kit today!


Editor: Timothy Prickett Morgan
Contributing Editors: Dan Burger, Joe Hertvik, Brian Kelly, Shannon O'Donnell,
Mary Lou Roberts, Victor Rozek, Kevin Vandever, Hesh Wiener, Alex Woodie
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Contact the Editors: To contact anyone on the IT Jungle Team
Go to our contacts page and send us a message.

Sponsored Links

Vision Solutions:  Free software for measuring overall i5/OS system health
Manta Technologies:  Fall Sale on i training courses! Order by October 15 and SAVE 25%
S4i Systems:  Express manages System i, mainframe, and any LINUX, UNIX, AIX document files

 

 

IT Jungle Store Top Book Picks

Easy Steps to Internet Programming for AS/400, iSeries, and System i: List Price, $49.95
The iSeries Express Web Implementer's Guide: List Price, $49.95
The System i RPG & RPG IV Tutorial and Lab Exercises: List Price, $59.95
The System i Pocket RPG & RPG IV Guide: List Price, $69.95
The iSeries Pocket Database Guide: List Price, $59.00
The iSeries Pocket SQL Guide: List Price, $59.00
The iSeries Pocket Query Guide: List Price, $49.00
The iSeries Pocket WebFacing Primer: List Price, $39.00
Migrating to WebSphere Express for iSeries: List Price, $49.00
Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
Getting Started with WebSphere Express for iSeries: List Price, $49.00
Can the AS/400 Survive IBM?: List Price, $49.00
Chip Wars: List Price, $29.95


 
Four Hundred Stuff
No Longer an IBM Partner, Randr Navigates the Open Source Track

Krengel Tech Eases XML Integration with DB2 Web Service Enabler

Aldon Eases Compliance, Project Management Burdens with Reporting Tool

QlikTech Welcomes Competition with IBM Cognos Express

Wine Management Systems Takes to the Cloud

Four Hundred Guru
Getting Started with RDi's Application Diagram, Part 1: Source Call Diagram

Passing an Entire Result Set as a Parameter: Part 1

Admin Alert: The Great CBU Survey and More

Four Hundred Monitor
Four Hundred Monitor's
Full iSeries Events Calendar

System i PTF Guide
October 3, 2009: Volume 11, Number 40

September 26, 2009: Volume 11, Number 39

September 19, 2009: Volume 11, Number 38

September 12, 2009: Volume 11, Number 37

September 5, 2009: Volume 11, Number 36

August 29, 2009: Volume 11, Number 35

August 22, 2009: Volume 11, Number 34

TPM at The Register
Alpha-male Ellison issues $10m Exadata challenge

Cisco readies rack servers for the holidays

IBM throws DB2 Power cluster at Ellison's Exadata

EMC outs Atmos compute cloud

Sun adds Oracle Linux to ops tools

Parallels bares all with server hypervisor

Terracotta straps on Ehcache speed engine

Emerson shells out $1.2bn for Avocent

Unisys announces 10-to-1 stock compression

VMware bakes disaster recovery into vSphere stack

Citrix delivers Swiss Army Knife desktop virtualization

Mellanox jacks up revenue and profit guidance

THIS ISSUE SPONSORED BY:

Help/Systems
Infor
Bsafe Information Systems
VAULT400
WorksRight Software


Printer Friendly Version


TABLE OF CONTENTS
IBM's DB2 Pure Scale--Not Quite iDatabase V1

Early Views on iManifest: ISV Expectations, Public Misconceptions

News Flash: IT to Drive Economic Recovery

As I See It: The Greening of IT

The Power Systems Catalog Gets Skinnier

But Wait, There's More:

Reader Feedback on Moore's Law and the Performance Wall . . . Ballmer Dishes on Big Blue; Why Should Ellison Have All the Fun? . . . IBM Deals on Blade Chassis, Tivoli Provisioning Manager . . . Notes/Domino 8.5.1 Dances with the iPhone . . . Much Ado About IBM's Mainframe Monopoly; Once Again, the i Is Overlooked . . .

The Four Hundred

BACK ISSUES




 
Subscription Information:
You can unsubscribe, change your email address, or sign up for any of IT Jungle's free e-newsletters through our Web site at http://www.itjungle.com/sub/subscribe.html.

Copyright © 1996-2009 Guild Companies, Inc. All Rights Reserved.
Guild Companies, Inc., 50 Park Terrace East, Suite 8F, New York, NY 10034

Privacy Statement