Read up on the latest ideas and technologies from companies that sell hardware, software and services. Mimosa™ NearPoint™ for Microsoft® Exchange Server: Email Archiving 101
The Next CIO is You
How to Beef Up Your Sales Pipeline
Email Archiving Implementation: Five Costly Mistakes to Avoid
SOA and Agility
Agile in the Enterprise
Solve Exchange Storage Problems Once and For All: A New Approach without Stubs or Links
Understanding Email Marketing: A Guide for SMBs
Zones provide focussed content from Computerworld and leading technology partners.Newsletter Subscription
When you're the inventor of one of the most successful and influential programming languages of the last decade, what do you do for an encore? Judging by demos at the recent JavaOne conference, if you're Sun Microsystems, you invent another programming language.
But Fortress is more than just another syntax to remember. Instead, Sun Labs is taking lessons learned from Java and applying them to the thornier problems of application development for HPC (high-performance computing). If it succeeds, Fortress could become the language of choice for the new computing era.
The problem with most existing languages is that they were designed for an earlier generation of machines. Processing resources were scarce. Desktop computers typically gave you only one CPU to worry about, and parallel supercomputers enjoyed the rarified air of academia, where coders were accustomed to jumping through mathematical hoops to get their applications running efficiently.
Flash forward to today, however, and the computing landscape looks considerably different. Low-cost, commodity processors, clustered together over high-speed networks, have made HPC accessible to nearly anyone. The lowliest desktop PC might be powered by a multicore CPU. There's a boundless world of processing power out there, waiting to be tapped. Unfortunately, the popular programming languages of today simply weren't designed for the parallel-processing model.
Take, for example, the humble for-next loop. It seems unambiguous enough. If I tell the computer to perform the same task a hundred times, the program loops through exactly 100 cycles and then proceeds to the next instruction.
In real life, however, a task that can be described as "doing the same thing 100 times" is often more nuanced than it seems. If my task is to fetch water from a well, for example, one person armed with one bucket could make the trip 100 times to complete the task. But if I had a hundred buckets, and a hundred strong backs to carry them, I could complete the mission in one one-hundredth of the time. Barring any other bottlenecks, there's nothing about a trip to fetch water from a well that depends on anyone else's trip to the well; you can complete all the trips at roughly the same time.
This, of course, is exactly the same kind of efficiency that you get from parallel computing. But writing algorithms that can take advantage of parallel processors isn't easy in today's languages. There's nothing about the grammar of a for-next statement that lets the system know that it's OK to parallelize that loop. Instead, you have to manage the calculus of making it parallelizable by hand. Lose track of what's happening in the system and you can quickly end up in a "Sorcerer's Apprentice" scenario.
In Fortress, on the other hand, language constructs such as for-next loops are parallelizable by default. The Fortress specification supports the concept of transactions within the language itself, which means that complex calculations can be computed as atomic units, independent of any other program threads that might be running.
To aid developers in conceptualizing complex parallel-processing applications, Fortress' syntax is based on mathematical notation. In Fortress, programmers don't need to translate abstract concepts such as physical units into representations designed for the machine. Wherever possible, the goal of the language is to do away with obsolete programming concepts and concentrate on making the coder's job easier. In addition, Fortress was designed to be a "growable" language, to which new features can be added easily.
Don't plan on writing your next major business application in Fortress just yet, however. So far the language exists mostly on paper. A reference interpreter that implements most of the core language features is available from the Fortress project community site, but this is still bleeding-edge stuff.
Still, as multiple cores replace megahertz as the new benchmark of CPU power, a new kind of software development needs to emerge to ensure that software can continue to take advantage of the latest hardware. If work on the project continues apace, Fortress could very easily become one of the most important developments in computer science since parallel processing itself. I'll be keeping my eye on this one.
Computerworld Member Login
Prioritizing Services with IT Service Management (ITSM)
Computerworld Live Webinar
Wednesday 20th, August 2008
11:00am EST (Sydney, Australia)
To be repeated on:
Thursday 4th, September 2008
11:00am EST (Sydney Australia)
Sign up and receive a free copy of The Forrester WaveTM Service Desk Management Tools, Q2 2008 at the conclusion of the Webinar.
Attend and discover:
- How to deliver value to your business through ITSM
- Best practice ITSM implementation
- Why emphasis is changing from optimizing IT management processes to better servicing customers and demonstrating real dollar value
- If service-oriented ITSM is best for your business
- +
Computerworld Live Podcast #97: The Future of Enterprise Networking 25/07/2008 09:45:36
This week CW Live chats with Mark Thompson, global sales and marketing manager for HP ProCurve, on the future of the enterprise networking. Mark discusses the trends we can expect to see in the near future and how the right infrastructure can ensure your enterprise network is secure. - +
Computerworld Live Podcast #96: Security at the Edge 11/06/2008 09:22:22
CW Live speaks with Amol Mitra, HP ProCurve Director of Marketing for Asia Pacific and Japan. Today's topic: how enterprises are starting to shift away from simply controlling security via server logins, firewalls and moving to more adaptive security frameworks. - +
Data Management Edition #10: Multi-Petascale Systems 02/05/2008 09:12:33
This week we look at sustainability and the development of multicore technologies to build multi-petascale systems. - +
IT Security Edition #11: How to poison the Storm botnet 01/05/2008 08:51:55
This week CW Live presents a case study on how to poison the notorious Storm botnet . Plus we take a look at Cisco's plans for Ironport. - +
IT Security Edition #10: Cyber-battles fought and won 24/04/2008 11:09:47
Vendors bow to end user pressure to improve product security, and we take a look at the latest concepts shaping the cyber-battlefield of the future.
Tumbleweed appoints O2 Networks to its Australian Channel Partner Program 2008-08-29 12:31:00+10
HP ProCurve Brings Big Business Gigabit Switching Features to Small Businesses 2008-08-29 12:00:00+10
Nortel and LG Electronics are First in World to Demonstrate Mobile LTE Handover 2008-08-29 11:30:00+10
GlobalConnect Provides Treatment for Healthcare Provider’s Contact Support Requirements 2008-08-29 09:59:00+10
Sybase and Logica Partner To Mobilise The Supply Chain 2008-08-29 09:47:00+10
How to Beef Up Your Sales Pipeline
Our economy may be heading towards a recession. Sales rates are dropping. Promotional campaigns are proving less effective than you would like. So how do you continue to grow your business and bring home the sales in such an environment? Download this white paper now to find the answers.











