So what makes System z ideal? Let’s list some of the reasons:
- Simultaneous operations: Processor speed is just one indicator of computer performance. It is important to understand that System z is a collection of general purpose and specialty processors in one box. The specialty processors used for input/output (I/O) to storage devices and network communications operate independently, but in coordination with the general processors. Node.js was designed for this type of environment where processing is not blocked waiting on slower I/O operations. The ability of Node.js to spin off processing to these special processors provides enhanced workload throughput on System z.
- Connections, connections, connections: Node.js scalability comes from its ability to maintain thousands (tens of thousands) of connections. System z is built to support thousands of concurrent connections. There are several techniques for supporting large numbers of connections, ranging from having multiple network adapters to having multiple instances of Linux for System z and having many gigabytes—up to terabytes—of memory. System z capacity is yet another “sweet spot” for Node.js.
So how best to get started? IBM SDK for Node.js Version 188.8.131.52 is equivalent to the latest Joyent Node.js Version 0.10.33. You can download node binaries for Linux for System z from developerWorks, and the code is also available from these repositories:
These are exciting times for Node.js. A new governance model was just announced on October 23, 2014. See the Joyent announcement and comments on IBM’s involvement as one of the Advisory Board member companies. IBM and System z enthusiastically support Node.js for enterprise adoption. Happy coding!
To share your thoughts, leave a comment or reach out to me on Twitter @BarmstroNC.
*IBM SDK for Node.js is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
**All performance data included here has been gathered in a controlled environment. Your own test results may vary based on hardware, software and infrastructure differences.