Site Archive (Complete)
DrDobbs Portal Blog: September 2007 Archives
EDITOR'S EYE

The World of Software Development.

by Jon Erickson

September 2007


September 27, 2007

TeraGrid Survey: You Can Help Out


TeraGrid is an open infrastructure that combines large-scale computing resources -- supercomputers, storage, and scientific visualization systems, and the like -- at several partner sites to create an integrated, persistent computational resource. All in all, TeraGrid provides more than 250 teraflops of computing power and 30 petabytes of storage interconnected via a dedicated national network. Among other things, TeraGrid can do simulations at a rate of 100,000,000 times per second. In other words, TeraGrid is pretty cool.

Of course, this isn't the first time I've mentioned TeraGrid. Recent notes include TeraGrid's Animation "Render Farm" at SIGGRAPH 2007, as well as TeraGrid's role in solving Rubik's Cube in record time. (Alas, in that same article I mistakenly said that the URL for the Pittsburgh Supercomputing Center, which is part of TeraGrid, was www.psu.edu, which points to Penn State University. Bill Weaver, a native Pennsylvanian and professor at La Salle University was nice enough to set me straight. The Pittsburgh Supercomputing Center's URL is www.psc.edu. Thanks Bill.)

But my point here is that TeraGrid is looking for feedback via means of a couple of surveys:

  • If, by chance, you have a grant to use one or more of the National Science Foundation sponsored High Performance Computing (HPC) systems listed at www.teragrid.org/userinfo/hardware/resources.php, they ask that you respond to this survey.

  • If, on the other hand, you're like most of us and just like to know what's going on with this cool stuff, they ask that you participate in the HPC Education Survey.

It takes just a few minutes and I'm sure your input would be useful and greatly appreciated. And on that note, I'm off to the Education Survey right now.

Posted by Jon Erickson at 10:35 AM  Permalink |


September 24, 2007

Don't Fence Me In


At the outset, let me say that if you think I'm going to get into the politics of border fences, then you're wrong -- very wrong. But from an engineering perspective, building Berlin Wall like fences along the southwestern border of the U.S. is, well, challenging -- enough so that the process has even spawned its own R&D arm, the "Fence Lab." The Fence Lab is a program created by Secure Borders Initiative that works with universities and national labs to devise and test various types of fence and barriers.

Under the direction of the U.S. Customs and Border Protection, eight different types of fences have been developed and tested. Putting aside rusty barbed-wire and the like, these fences can be generally categorized as high-tech "virtual fences" and low-tech "brute-force fences." As you probably suspect, the Boeing-built virtual fences are towers -- nine of them for now, each 98-feet tall and stretching across 28 miles of desert (hence the name "Project 28"), and loaded with radar, sensors, and cameras.

If they work, plans call for as many as 1,800 of the towers going nearly 400 miles. Of course, "if" is the operative word here. Acceptance testing was supposed to commence in June, but has been delayed until October.

That's the high-tech approach to fence building. As for the low-tech approach, engineers at Sandia National Labs are testing and evaluating other types of fencing. Now here's the difference between high-tech software testing, and low-tech hardware testing. For the former, if you break some code, all you do is figure out what is broken, then fix it with some new code. And move on. For that latter, all you need are lots of vehicles.

And apparently Sandia Labs have lots of vehicles to test because since last April, they've been crash testsing them to evaluate how the fences will look and perform. The tests stem from the government’s commitment to deploy hundreds of miles of fencing along high-traffic, high-risk stretches of the border. And you thought that Sandia was just a national "nuclear" lab.

There's something appealing about the brute-force approach to fence testing. Simulations are cool. Sensors are fun. But crash testing vehicles into concrete walls has the appeal of, say, professional football on a Sunday afternoon. High-tech fences, on the other hands, are more like ballet. Whatever the analogy, it turns out that Sandia's brute-force tests were well received.

"[Customs and Border Patrol] was delighted with our work," said Mark McAllaster, a member of Sandia’s Active Response and Denial Department. He says CBP was particularly impressed with the team’s ability to pull together all the project elements -- materials procurement, fence installations, vehicle purchases, and the crash tests themselves." See it just isn't me who appreciates a good crash test.

But McAllaster was quick to point out that "Sandia doesn’t merely analyze fence barriers. Our capabilities are truly state of the art and encompass the full spectrum of physical security, including intrusion detection alarm assessment technologies, performance testing, technology evaluation, vulnerability assessment, design, development, installation, and training."

Now doesn't that sound like engineering to you?


Posted by Jon Erickson at 01:30 PM  Permalink |


September 21, 2007

Safety In Numbers, or At Least DO-178B


There's something about the term "safety-critical systems" that makes you stop and think, especially at that moment when the wheels leave the ground. Fortunately I'm among those lucky people who fall asleep (yes, head back, mouth open) as soon as the the airplane leaves the terminal, and the only thing I worry about is snoring too loudly.

Still, because I tend to fly more than drive these days (driving to the airport doesn't count), anything involving avionics wakes me up. Which is why DO-178B caught my attention. Granted, if you've been involved in avionic software or real-time systems, DO-178B is probably is old hat. In a nutshell, DO-178B identifies guidelines and certification for the development of aviation software in the U.S.

What got me thinking about safety-critical issues and introduced to me DO-178B was conversations at this week's Dr. Dobb's SD Best Practices Conference in Boston. It's no surprise, for instance, that Ada has long been a mainstay in large-scale high-reliability, safety-critical arenas. To that end, in support of DO-178B and other such safety standards, AdaCore announced a static analysis tool called GNATstack that helps engineers predict the maximum stack usage requirements for applications. The tool statically caluculates the maximum stack space required by each task in an application. The coputed bounds can be used to ensure that sufficient space is reserved, thus ensuring safe predictable execution in regards to stack usage. The tool's output data can then be used to satisfy DO-178B requirements. Putting this another, stack overflow is bad enough at any time, but really bad at 20,000 feet up.

LynuxWorks also made some announcements regarding safety-critical systems for the avionics industry. In particular, the company said it is working with TTTech Computertechnik AG, a supplier of solutions in the field of "time-triggered technologies," to build tools for the migration of prototype safety-critical avionics applications to full airborne deployment. TTTech’s TTP protocol is supposedly the first high-speed, time-triggered fieldbus selected for commercial and military aircraft, such as the Boeing 787, Airbus A380 and Lockheed Martin F-16. TTP systems can be built using TTTech’s design tools deployed in production programs. Available embedded COTS software and hardware components are compliant to DO-178B and can be reconfigured for reuse in different distributed real-time systems.

Like I said: I'm lucky that I can sleep on airplanes and not have to worry about safety issues. It looks like plenty of other people are doing the worrying for me.

Posted by Jon Erickson at 09:39 AM  Permalink |


September 19, 2007

Reverse Engineering -- the Brain?


The headline says it all in regards to what happens when you make powerful parallel computers available to researchers -- "Reverse-engineering the Brain for Better Computers."

In this case, a team at the University of Texas at San Antonio's biology department is using parallel computers to run biologically-realistic simulations of molecular diffusion in neurons. By understanding how neurons process chemical signals when a person learns and remembers information, they believe they can create more reliable computers that employ stochastic computing components. (Stochastic computing is a type of artificial intelligence which uses probabilistic methods to solve problems.)

Led by Fidel Santamaria, an assistant professor of computation and neural systems, the UTSA team created a computational and experimental lab that integrates electrophysiological, imaging, and structural observations of neurons into detailed biophysical models. Since the human brain has trillions of different types of neurons, each with complicated branching dendrites, running the complex Monte Carlo simulations to model even a single neuron requires lots of computational power and memory resources.

To this end, the department is using Interactive Supercomputing's Star-P to link their desktop computers to an 8-processor parallel cluster. To further accelerate the research, Interactive Supercomputing granted UTSA an additional license to deploy Star-P on a 120-processor cluster in the near future.

Star-P is an interactive parallel computing platform that lets the team code the biophysical models on their desktops using MATLAB, but run them instantly and interactively on the parallel cluster with little to no modification. Star-P eliminates the need to re-program the applications in C, Fortran, or MPI to run on parallel systems, which would take months to complete for large, complex problems such as UTSA’s molecular diffusion simulations. .

Santamaria said that the team has doubled its productivity by breaking up the models into smaller data sets and running them on the supercomputers with Star-P. "They can now do eight analyses at the same time," he said. Even for larger simulations of entire neurons, Santamaria said he has gained a 50 percent increase in productivity. "Not only that, we can model much more complex molecular structures compared to what we could do before. While simulating a single neuron may not sound like much, Monte Carlo simulations of molecular diffusion in spines and dendrites is an enormous computational challenge."

In additional to the team’s stochastic computing research, Santamaria said he plans to use Star-P as a student lab tool for a computational neuroscience class that he teaches. The department also intends to integrate Star-P into its Computational Biology Initiative (CBI), a new interdisciplinary initiative at the University of Texas Health Science Center at San Antonio (UTHSCSA) and UTSA. The interdisciplinary team will include members from the University’s civil engineering, computer science, math,and neurobiology departments. The CBI’s goal is to build infrastructure to significantly advance collaborative interdisciplinary bioscience research in San Antonio.

Posted by Jon Erickson at 01:07 AM  Permalink |


September 17, 2007

Software Transactional Memory and Other Transactional Events


If you aren't currrently familiar with the concept of "software transactional memory," there's every likelihood that you will be soon. Especially if multi-core development is in your future, which, if you're a software developer, it most certainly is. According to Wikipedia, software transactional memory is a "concurrency control mechanism analogous to database transactions for controlling access to shared memory in concurrent computing."

Software transactional memory (STM) isn't necessarily a new idea. It's been kicking around since the late 1980s and early 1990s when Nir Shavit and Dan Touitou published their paper Software Transactional Memory which is credited as the first discussion of transactional memory in *software*. Since then, STM has found its way into any number of environments, ranging from Smalltalk, C/C++, C#, Python, Perl, .NET, and Java, to mention a few.

According to Intel, parallel programming has traditionally been considered using locks to synchronize concurrent access to shared data. Lock-based synchronization, however, has known pitfalls: Using locks for fine-grain synchronization and composing code that already uses locks are both difficult and prone to deadlock. Transactional memory is proposed to simplify parallel programming by supporting "atomic" and "isolated" execution of user-specified tasks. In short, it is an alternative to locks as a general-purpose concurrency control mechanism. That said, there have been hardware-based proposals to generate higher performance but in a limited scope. Software approaches to STM appear to be more flexible and offer more functionality, although even Intel admits that there are a lot of unanswered questions about using TM in real-world applications.

Nevertheless, Intel has announced availability of a prototype C/C++ compiler for Windows and Linux that implements software transactional memory via a set of extensions. The STM compiler is freely available to current Intel compiler customers and free trial versions available to everyone else.

I should also mention that in our December 2007 issue, Dr. Dobb's Journal will be presenting a related article entitled "Transactional Programming" in which Calum Grant applies transactional database techniques applied to C++ development. It's really interesting.

Posted by Jon Erickson at 02:07 PM  Permalink |


September 13, 2007

Happy Birthday Smiley-face :-)


Can it be? Is the Smiley-face :-) emoticon really 25 years old? That's right -- "happy birthday" is in order. Originally created in 1982 by Carnegie Mellon University Computer Science Professor Scott Fahlman, Smiley-face officially will be 25 next week.

What inspired Fahlman's creative genius were the lengthy messages in phosphorescent green or orange characters that were constantly being posted to electronic bulletin boards at in CMU's Computer Science Department. Fahlman posted his suggestion in response to a humorous message in which someone was joking about a contaminated elevator in a building. Another person worried that some people might take that as a serious safety warning, provoking a discussion about the limits of online humor and how to mark comments not meant to be taken seriously.

"I propose the following character sequence for joke markers: :-)," wrote Fahlman. "Read it sideways," he added, helpfully. And so, at 11:44 a.m., September 19, 1982, Smiley was born.

While he will always be remembered for :-), it should be noted that Fahlman has performed research in many areas of AI, including problem solving, knowledge representation, image processing, natural language, document classification, artificial neural networks and the use of massively parallel machines to solve AI problems. His current research involves the Scone Knowledge-Base System and he is a fellow of the Association for the Advancement of Artificial Intelligence.

"Scientists and technology leaders the world over know Scott well for his great computer science research," said Peter Lee, head of the Computer Science Department. "His seminal work on knowledge representation contributed fundamentally to the field of artificial intelligence (AI), and his leadership in the design of Common Lisp has had a major impact on programmers and researchers for the past two decades."

In honor of :-), Fahlman and his colleagues are inaugurating the annual "Smiley Award" for innovation in technology-assisted, human-to-human communication. The award will be based on a competition open to individual students and small teams in Carnegie Mellon's School of Computer Science. The winning entry will receive a $500 cash prize, sponsored by Yahoo.

"It has been fascinating to watch this phenomenon grow from a little message I tossed off in 10 minutes to something that has spread all around the world," said Fahlman. "I sometimes wonder how many millions of people have typed these characters, and how many have turned their heads to one side to view a Smiley, in the 25 years since this all started."

Posted by Jon Erickson at 11:26 AM  Permalink |


September 10, 2007

Virtual Worlds: The Plan, The Plan, You Have to Have a Plan


According to a new report from The Conference Board, virtual worlds like Second Life, Kaneva, and There are rapidly emerging on the business landscape. At the same time, says The Conference Board, few companies have developed strategies to deal with them.

According to says Edward Roche, author of the Crafting a Strategy for Virtual Worlds: Eight Questions to Ask, virtual worlds let companies:

  • Provide a meeting place
  • Engage in v-commerce
  • Allow advertising and product placement
  • Build organizational experience in a virtual environment where mistakes and failures can safely occur.
  • They also enable "v-CRM" virtual Customer Relationship Management: companies can reach out and collaborate with their customers in new ways.

"For the business community, choosing the right virtual world to use is a crucial decision," says Roche.

How do you choose the "right" virtual world?

Roche says that you need to consider 8 questions:

  • What is Your Entry Strategy? Some companies see virtual worlds as a new frontier, similar to the Internet a decade ago. By aggressively moving into this space, they will be able to attain a "first mover advantage," similar to what Amazon.com did in the book-selling business or what eBay did with online auctions. Others enter because of competitive necessity, or experimentation.
  • What is the Corporate Purpose? Early corporate presence in virtual worlds appear to be mostly for the purpose of "staking out a claim" or establishing a "showcase" to put everyone on notice that the corporation is "in there." Some companies take out advertising in other parts of the virtual world. Others enter for the purpose of v-commerce or to provide customers with more information about their products and services.
  • Do You Plan to Offer v-Products? Virtual worlds offer an opportunity for companies to re-think completely their product and service offerings. But a change of perspective is required. Some use virtual worlds to promote and sell currently existing products. Others plan to create completely new products and services.
  • Who is in Charge? Most companies are unlikely to have a "Virtual Worlds Department" or "Virtual Worlds Vice President." The Reuters news service has a "Second Life Bureau Chief," but that is an exception. Since companies don’t have this function in place, it will need to be invented. But who should take the lead? Some companies have set up committees or teams, or use their sales and marketing department.
  • Which Virtual Worlds Should be Used? Companies can choose from hundreds or even thousands of virtual worlds. But which one is best? Second Life is very popular. Some companies use multiple virtual worlds, develop a presence in each of them, and see which one holds out for the long haul. Others select a virtual world that is specialized -- one that is frequented by a specific type of customer.
  • How Much Will it Cost? There is, as yet, no clear set of figures or benchmarks for budgeting for creation of a virtual world. Some companies are spending much more than others. Major areas of cost include design, building and maintenance, systems integration and hosting.
  • What is the Revenue Model? For most companies, understanding how to recoup their investment is difficult, at least for now. Much depends on the mode of entry. Some companies are justifying their virtual worlds budget through advertising, sales and marketing, customer and market research, training or R&D.
  • Is IT Up to the Job? "The IT function in most companies is one of the most under-rated and under-appreciated groups," says Roche. Apart from fighting a 24/7 battle against information terrorism, virus attacks, and various hacker clubs around the world while dealing with the next operating system release, the IT group manages for the most part to keep millions of transactions per second coursing through the electronic veins of an enterprise. Adds Roche: "Unfortunately, continual nagging from users and extremely difficult technical challenges tend to make IT resistant to change. Often, a new project is considered little more than another headache. But, ultimately, IT can be counted on to get the job done. Just budget the money and get out of the way."

These and other topics will most certainly be discussed at this week's Dr. Dobb's Life 2.0 Summit for software developers and business stakeholders seeking to understand and use Second Life and similar environments for customer engagement, commerce, collaboration, education, simulation, and research. Don't miss it.


Posted by Jon Erickson at 04:36 PM  Permalink |


September 07, 2007

Nanoscale Nozzles = High-Res Printing


When it comes writing utensils, it's hard to beat a pencil. They're durable, user friendly, inexpensive, and, assuming the eraser isn't worn down, enable easy editing. Mechanical pencils with replaceable lead were a great leap forward, of course, especially since pencil sharpeners seem to gone the way of buggey whips and pay phones. And if you really want to, you can connect a pencil to a computer, assuming you like working with flat-bed plotters and the like.

But no, #2 pencils aren't good enough for researchers at the University of Illinois, who have improved on a process called "electrohydrodynamic jet printing process" (e-jet) by combining electrically induced fluid flow with nanoscale nozzles. Unlike familiar ink-jet printers which use heat or mechanical vibrations to launch liquid droplets through a nozzle, e-jet printing uses electric fields to pull the fluid out. While this isn't a new, the introduction of nanoscale nozzles and precision controlled electric fields is new.

"We have invented methods for an electrohydrodynamic jet (e-jet) printing process that can produce patterns and functional devices that establish new resolution benchmarks for liquid printing, significantly exceeding those of established ink-jet technologies," says John Rogers, professor of Materials Science and Engineering. What Rogers' team did was build a tiny e-jet printing head that consists of a gold-coated microcapillary nozzle (with a diameter as small as 300 nanometers) mounted on a computer-controlled mechanical support. An organic, Teflon-like coating on the gold ensures the ink flows cleanly out the nozzle toward the target. Tiny droplets of ink eject onto a moving substrate to produce printed patterns. Lines with widths as narrow as 700 nanometers, and dots as small as 250 nanometers, can be achieved in this fashion.

Rogers goes on to say that this type of e-jet printing will likely be used for large-area circuits, displays, photovoltaic modules and related devices, and as well as in security, biotechnology. and photonics. "The neat thing is that we find that this extremely high-resolution form of e-jet printing can also be used for diverse systems, such as printing microarrays of DNA spots for bioanalysis, or printing carbon nanotubes and other classes of nanomaterials that are difficult to pattern in other ways," he explains.

Posted by Jon Erickson at 09:36 AM  Permalink |


September 04, 2007

Simulations and the World Community Grid


Okay, I'm walking on thin ice here. Recall the last time I mentioned something about the weather and climate analysis, I was pummeled by readers who questioned the validity of global warming and such. Which is why I leave the topic to experts, like Josh Reed whose article in the upcoming October 2007 issue of Dr. Dobb's Journal describes an Eclipse- and Java-based tool for the Antarctic Geological Drilling project.

But climate analysis is going on worldwide, not just in Antarctica. For instance, the Climate Systems Analysis Group at the University of Cape Town is launching a global computing effort to improve regional climate models to make better projections about what effects of changing climates in Africa.

The AfricanClimate@Home project will use the computational power of the World Community Grid, a virtual supercomputer comprised of hundreds of thousands of individuals who donate unused computer time. Researchers will use the World Community Grid to improve the models used to predict the climate by conducting simulations in small regions of Africa, then checking them against real observations.

According to AfricanClimate@Home lead researcher Mark Tadross, "Making predictions about the climate requires an enormous amount of computational power because of all of the variables, such as temperature, wind, pressure, and humidity. In order to improve the models, we need to come up with better algorithms that will more closely match what is observed in a local area. By using World Community Grid, we have the computational power necessary to run the tests we need to improve our models."

To donate unused computer time to this project, register at World Community Grid and install a free program on to your computer. When computers are idle, they can request data from World Community Grid's server. The World Community Grid is the largest public humanitarian grid in existence with 315,000-plus members and links more than 700,000 computers.


Posted by Jon Erickson at 11:01 AM  Permalink |



November 2007
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  


BLOGROLL
 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies