Sunday, September 25, 2005

PL vs GUI

Kal Krishnan gave us a couple of interesting insight at the September meeting of the SDForum Business Intelligence SIG. In his talk "Event Based Architectures For Real-Time BI", he explained the iSpheres Event Server, a system for real time Business Process Management (BAM) that captures, transforms and does complex processing on business events as they happen.

Two things about his presentation struck me. The first was a claim that the iSpheres Event Server could handle 470,000 events per second. It is an impressive performance even when you discount by a factor of 3 or 4 for benchmarkism. I have heard that a stock market feed can have a peak rates of 100,000 messages per second so we get some hope that the iSpheres server would be able to handle it.

The other insight was that iSpheres uses a programming language to specify the behavior of the Event Server. Kal told us that they had started out by providing a GUI with icons and drag and drop as their programming interface and this had proved to be too cumbersome for programming the number of events that an event server needs. So, a few years ago they rethought the programming interface and designed an event programming language instead.

I have remarked before on this issue. In practice, you always have to provide a programmable interface, either with a programming language or through an API. From this, it is straightforward to provide a GUI, either as a plug in to an existing development system or by automatically generating the GUI from the language or API specification.

Wednesday, September 21, 2005

Processors Hit the Speed Limit

I was talking with a friend in the semiconductor business the other night. He told me that processors have hit their speed limit. Over the last 20 years, as silicon is scaled down, it has become faster, and we have benefited from faster and faster processors. But now as they continue to scale down, the silicon becomes leakier, and higher frequencies draw more power to the point of self defeat.

Of course, Moores Law continues and silicon continues to scale down, so we will continue to get more transistors on a chip, it is just that now the chips will not get faster as well as denser. I think that we all instinctively know that processors have hit a speed bump. The manufacturers no longer crow about how fast their chip goes, instead they talk about hyperthreading and dual core. So what my friend was telling me is that this is not just a speed bump, it is the speed limit. His view is that architectural improvements and throwing more transistors into the pot could give us another factor of 2 performance improvement, but that is it.

There is no big architecture breakthroughs on the horizon. The Von Neumann model has been around for almost 60 years. For the last 30 years, it has been criticized for serializing program execution, however nothing better has ever been made to work in a convincing way. Moreover, the Von Neumann model of sequential execution is embedded in the way we think about programming and a huge investment programming languages and all existing programs.

The alternative is that we write parallel programs to run on future generations of multi-core processors. The standard tool for writing parallel programs is threads. I have recently been writing threaded code and I can tell you that it is awful. Absolutely awful. I am going to write more pieces on the problems, but for now I can assure you that the problem of programming with threads is worse than the problem of programming memory allocation, something than many new programming languages have resolved by providing automatic garbage collection.

Monday, August 22, 2005

Data Mining Insight

Data mining is a difficult subject. On the one hand it is presented as this thing that will tell you all sorts of wonderful facts that you never knew about your data. On the other hand when you start getting into it, it is this daunting thing that is difficult to approach, seems to require a PhD in statistics to use and ends up telling you stuff that you already know, like when people buy bread at the market they are also likely to buy milk (or was that the other way round?)

At the August meeting of the SDForum Business Intelligence SIG Joerg Rathenberg, VP Marketing and Communications at KXEN gave a talk "Shaping the Future" about predictive analytics, which is the latest way of saying data mining. KXEN is a young, privately held company that is devoted data mining and that is successful, while many other data mining startups have fallen by the wayside.

The kernel of KXEN's success comes from powerful robust algorithms that do not require a specialist to tweak, high performance so that you can get results quickly and finally and most importantly, ease of use. As part of his presentation Joerg ran through a couple of data mining exercises showing us how you could take a reasonable sized data set in say the form of comma separated values (CSV), and using a few clicks and a several seconds processing, generate an interesting data analysis.

For me the key insight of the evening was on how to use data mining. I had always thought of data mining as a tool of last resort, when the data is too large or complicated, and nothing else seems to work, you resort to data mining to try and find something that you cannot see with the naked eye. On the other hand Joerg suggested that data mining is the first thing that you do when presented with a new business question, or a new data set. You use data mining to for the initial analysis of the data to find out which factors in the data really affect the outcome that you are interested in. Once these factors are identified, you can build reports or OLAP cubes using these factors as dimensions to explore in depth what is going on.

Thus data mining is something that you should be doing early and often in your data exploration. Joerg called this "Exploratory Data Mining" and it certainly resonated with audience members who do data analysis for a living. KXEN has designed their software to make exploratory data mining possible and even easy, and hope that by this means it becomes accessible to the masses.

Wednesday, August 03, 2005

Pauseless Garbage Collection

Programs generate a surprising amount of garbage, little pieces of memory that are used and then discarded. Low level programming languages like C require that the programmer manage the storage themselves, which is a surprisingly painful, time-consuming and error prone task. So these days application programs are written in languages like Java (or C#) where the system manages the storage and does the garbage collection. The result is much higher programmer productivity and much better and far more reliable programs.

The overhead of doing automatic garbage collection has always been a concern. However, another problem with automatic garbage collection is that up to now it has required that the system pauses, sometimes for a considerable length of time while parts of the garbage collector runs. A pause in a web application server stops customers from doing whatever they are trying to do. This can range from absolutely unacceptable in online stock trading to just very bad for customer satisfaction in a typical e-commerce application.

At the August meeting of the SDForum Java SIG, Cliff Click spoke on pauseless garbage collection. Cliff is part of Azul Systems, a startup that has developed an attached processor to run Java applications. As Azul Systems sells to large enterprises that run Java web applications to support their business, being able to do automatic garbage collection without pausing is an important feature.

Cliff is an engaging speaker who has spoken to the Java SIG before. Previously Cliff gave an overview of what Azul is doing. At this meeting, Cliff described the pauseless garbage collection algorithm in detail, and then went on to give us some indication of its performance. He had taken a part of the standard SPEC JBB Enterprise Java warehouse benchmark, modified it by adding a large slow-moving object cache and a much longer runtime that makes the benchmark more realistic and garbage collection more of an issue.

When the benchmark is run on an Azul system, the longest "Stop the world" pause is 25 milliseconds, whereas running the benchmark on other Java systems exhibited pauses of up to 5 seconds (yes seconds). On any platform almost all of the benchmark transactions run in under a millisecond. On the Azul system, no transaction took more than 26 milliseconds, which is very close to their maximum pause time, and well over 99% of the transactions ran in under 2 milliseconds. On the other Java systems, over half of the total transaction time could be taken up by transactions that took more than two milliseconds to complete.

While Cliff and Azul are proud of what they have done so far, they are not satisfied. So they are working on removing the last few vestiges of a pause from their system. We can expect even better performance in the future.

Monday, August 01, 2005

Aspect Ratio Hell

I returned from summer vacation with a large number of pictures which I am editing. Which leads to a difficult decision. When cropping the pictures, what aspect ratio do I chose for the images? This is not a clear cut question, and any investigation of which aspect ratio to use for cropping pictures leads to much confusion.

Last year, for example I had a beautiful picture of us getting Lei-ed as we arrived in Hawaii. I cropped the picture for a 4 x 6 print (aspect ratio 1.5) and then deciding that it made such a good picture, printed it on a 5 x 7 (AR 1.4) only to discover that the printer chopped off the tops of our heads. Looking further I see that it would get other results if I had tried to print an 8.5 x 11 (AR 1.294...) or a 11 x 17 (AR 1.545...) or a 13 x 19 (AR 1.461...). Fortunately the last two choices are moot because my printer cannot handle theses sized sheets.

There is more. I take a group of pictures and put them on a DVD that we can watch on TV. 60 pictures at 6 seconds each with a sound track will make a high energy 6 minute video of our vacation. However, this creates more aspect ratio choices. Currently TV's are changing their aspect ratio from 4 x 3 (AR 1.333...) to 16 x 9 (1.777...). (And why has the convention changed to putting the larger number first?) In practice TV's are even more difficult as they naturally chop off some lines at the top and bottom of the picture so that a video of still images introduces even more uncertainty when deciding how to crop the images.

If we want to see the whole image in the video, we can look at it on a computer monitor which does not lose scan lines from the top and bottom and will scale everything to fit. But there is a problem even in the logical world of computers. Most of the standard display settings have an aspect ratio of 1.333... (800 x 600, 1024 x 768, 1600 x 1200) however the majority of computer displays sold today are LCD panels at 1280 x 1024 (AR 1.25).

More confusing yet, the display size of 1280 x 768 (AR 1.666...) is becoming popular in both laptops that can be used for watching DVD's on long flights and with LCD TV's where the aspect ratio seems to match what is shown on a 16 x 9 TV even although 1.66... is not 1.77...

There is a lot more to aspect ratio and it only gets worse. For example, the above discussion assumed that the pixels were square which they do not need to be. I have some ideas on what can be done which will have to wait until another time.

Wednesday, July 27, 2005

Going off the Net

The internet is a wonderful thing, it is also a very dangerous place. Any computer system connected to the internet can and will be attacked. There is also a viral aspect to the internet, which means that while it is difficult to do with the internet and it is also difficult to do without.

At work we are building a software product that when combined with a number of other complex software systems on a cluster with a SAN will do wonderful things. However, configuring and debugging all this stuff requires a lot of privileged access.

The company has a lot of rules to protect its computer systems from attack. Part of that is denying users privileged access, which is sensible for most users. However when we want anything privileged done, we have to ask the IT guys to do it as they are the ones with the privilege, and each request takes its own time.

The test system arrived and my first thought was that we could bypass all these rules that slow progress by taking it off the net. If the test system is not connected, it is safe from attack, we do not have to follow all the rules and we can have all the privileged access we need to get things done as and when we want.

I suggested this at our project meeting and the first question was "if it is not on the net, how do I telnet to it for debugging?" I described sneakernet, the secure alternative to the internet. You burn a CD, pop it out, walk across the room, pop it into the test system and "Robert est votre oncle".

Everyone looked at me like I was mad, or maybe they thought that I was just lost in another millennia. The notion that you needed to be in the same room as the test system seemed retrograde. As did the idea that you could not be browsing Slashdot while waiting for that conditional breakpoint to pop. So we are going to have to put up with the constant battle with IT to get simple things done because now it is impossible to go off the net.

Tuesday, July 19, 2005

Open Source BI

Open Source Business Intelligence is hot. This month the SDForum Open Source SIG hosted a talk from JasperSoft about their open source reporting software. Tonight the Business Intelligence SIG heard from Sandeep Giri about their OpenI initiative to provide an Open Source BI application.

Currently OpenI is a BI application built on Open Source components that provides visualization of data from an OLAP source such as SQL Server or Mondrian. Sandeep has plans to expand OpenI to become a fully fledged BI platform.

I had asked Sandeep to talk about why they are making their application Open Source. Sandeep explained that his company, Loyalty Matrix, provides Software as a Service (SaaS). [This means that they can use most Open Source software to provide their service.] While there are several Open Source components with a BI flavor, there was no ready to run Open Source BI application or platform.

Loyalty Matrix has had to develop their own platform using Open Source software. By giving their application back to the Open Source community they get the implementation help, support and feedback of a large user group to complement their tiny development team.

Wednesday, June 22, 2005

Show me the Numbers

Yesterday we had a great talk at the SDForum Business Intelligence SIG from Stephen Few called "Show me the Numbers". Stephen has created a career for himself teaching how to present business information in a way that is clear and understandable. And as he told us in the meeting he did this because he saw a crying need for better information presentation and nobody else was doing it.

One of the chief problems is that BI systems vendors compete by offering the most features and in the presentation space this is done by offering a wide variety of impressive 3-D graphs. We looked at and critiqued a number of graphs taken from vendors sales and education literature and we had a field day. For example, in one memorable graph, the months in the time dimension had been sorted in alphabetic order!

When it comes to selecting the type of graph to use, many people use "Eeny Meeny Miny Moe", or look through the list of graph types and select one because they have not used it for some time. I know that I have used this method in the past. Stephen has a well thought out methodology for designing information presentation and he started to go through it, although there was not enough time to go into depth. If you want to find out more you have to read the book.

Sunday, June 12, 2005

Apple's ISA Shift

The most extraordinary news last week was the announcement that Apple would drop the Power chip and adopt the Intel chip and Instruction Set Architecture (ISA). There was a lot of speculation and disbelief before the event, the announcement in its own reality distortion field, and generally positive or at least understanding reportage afterwards.

First I should disclose a couple of personal connections with this event. The first one involves my mother-in-law (God bless her soul). Many years ago she wanted to buy a computer and hearing that Mac's were easier to use, bought one of the last 68000 based systems that Apple made. A couple of years later she got fed up with it because cruising the web had become impossible. Most complicated web pages took a very long time to render and many caused her system to crash. Of course there were no software upgrades to help her, so she went out and bought a PC which worked well for several years. This last January it broke down and she asked me for advice on getting it replaced. I suggested buying the Mac Mini that had just appeared and she bought one. Now I hear that it is obsolete, so is she going to be in the same position as she was with her last Mac? And this time its all my fault!

The second disclosure is that I worked for DEC, and was tangentially involved in their disastrous dithering with ISAs. Firstly they decided that the VAX ISA had no horsepower left so they adopted the MIPS chip for a short time and then completely changed tack to use their own internally developed Alpha chip and ISA. Old DEC hands may have thought that as they already had 12, 16, 18, 32 and 36 bit systems that throwing a couple more ISAs to the masses was business as usual. In practice customers took it as a sign that the company did not know what it was doing. DEC had always been deliberately run at the edge of control and when the customers deserted, DEC crumbled.

Back to the story. The most interesting commentary came from Cringely. I do not believe his major thesis, that this in an opening move in a merger between Intel and Apple. I do think that he is right on the money with his "Question 4: Why announce this chip swap a year before it will even begin for customers?" Who is going to buy a Mac now, knowing that it will be obsolete when Apple changes their ISA next year? Apple has basically destroyed the market for their major product for the next year.

There are a couple of possible reasons for making the announcement now. Firstly Apple may have decided that it was not going to keep it a secret and so the announcement was inevitable and put the best possible spin on a difficult situation. Alternatively, it could be hubris. Jobs has a history of being very successful and then getting caught up in his own reality distortion field to the extent that he blows it big time. His last big failure was Next which was colossal. This could be his next, we will see.

One other vector is Intel. Cringely is on the money in that they have a big stake in this. Microsoft just announced their xBox 360, which uses an IBM chip. If the xBox 360 turns out to be the home media center in disguise, Intel has potentially lost the consumer part of their franchise. In this context a link up with Apple who also have their eye on the home media center makes perfect sense.

Thursday, June 09, 2005

What the Dormouse Said

An extraordinary event at the PARC last night. The SDForum Distinguished Speaker Series went out with a bang as John Markoff spoke about his new book "What the Dormouse Said: How the 60s Counterculture Shaped the Personal Computer Industry". The truly remarkable thing about the night was the audience, as many of the people featured in the book were in the room.

Sandy Rockowitz introduced several audience members. The names I recall are Doug Engelbart, Bob Taylor, Butler Lampson and Adele Goldberg. Sandy did not introduce everyone and I did not catch all their names, so this is a partial list of a partial list, but it gives a glimpse of who was in the room.

John Markoff presented his thesis. The conventional story of Personal Computers is a story about Xerox PARC and the two Steves. The real story goes back much further to the 1960s and involved Doug Engelbart, John McCarthy, LSD, and only later Stewart Brand, the Homebrew Computer Club, and Stanford institutions like Kepplers bookstore around which the grateful Dead also formed.

At the meeting several people denied their personal involvement with drugs. I have not read the book so I do not know whether drugs really played a part or whether they are there promote book sales. I will let you know my opinion when I have finished it.