From mboosten@best.ms.philips.com Sun Oct 31 15:49:05 2004 From: M_Boosten To: mboosten@best.ms.philips.com, P.H.Welch@ukc.ac.uk Cc: java-threads@ukc.ac.uk, occam-com@ukc.ac.uk Date: Thu, 5 Oct 2000 18:15:46 +0200 Subject: Re: A path for CSP-based Solutions towards HUGE Industrial Success. Message-ID: <200010051615.SAA16650@tigran> Hi Peter, and others... Thank you for the useful comments. + = TRUE o = NEUTRAL - = not TRUE Obviously: the truth in non-maths is never TRUE or FALSE, but somewhere inbetween, it is never NEUTRAL either. > They won't pick it up though because: > > o CSP is "different" to what people are used to ... presumably large serial > designs, threads-and-locks or passive structures kicked around by > call-backs ... + Industry is used to mutexes, because that is the Operating Systems standard. + OS's inter process communication via streams, typically between processes having different addresses is considered inefficient. + CS Process is immediately mapped to OS Process, getting the ideas of a thread based implementation across requires about a week of talking. o Good OO designers end up with Process (CSP)-based designs! This can also make it harder for them to believe that CSP is fundamentally different. - Large OO designs are intrinsically parallel... (which is the problem) People realize this quite easily. > o CSP is remembered from college days - if at all - as some pretty hard > maths ... - not TRUE: my experience is that IF people remember Occam, they remember it as a Good Thing. + TRUE: the math is considered "difficult" > o although most things are an admitted "mess", we're "getting by" ... and, > anyway, our customers don't know anything can be done about it ... - not TRUE: The application here is NOT a mess. Some parts are a mess, but redesign actions are started to solve those problems. - TRUE for some departments. However, their "mess" is NOT cannot be solved by using CSP-techniques. They probably simply need a better organization/people. CSP is NOT seen as the solution, and they are usually right. Furthermore, they do not have the insight to see the CSP indeed COULD help. + TRUE: customers cannot see the difference. > o CSP, because it's not the norm, is "high risk" ... unlike what we're > doing at the moment ... + TRUE: it is weird, OO is THE religion. - It is not that weird: people know TCP/IP and computers. That association is immediately there. > All the above I have been told so many times by so many people over so many > years - including very recently by senior decision makers in one rather large > and influential technology provider. I have tried to put it into perspective... I my opinion there is some truth in everything, but it is not the full truth. Putting it into perspective is ESSENTIAL to gain the experts. You have to be telling pretty much the FULL truth. Be realistic: CSP is not a new world! It does not solve ALL your problems. CSP-based ideas currently are quite a bit a way from PERFECT. With current practise, it looks like an ugly rat (see older mail) Note that at the WoTuG Conference, CSP looks like being a RELIGION different from OO. Be realistic: do not present CSP as a religion, but as a REALISTIC MEANS to solve PRACTICAL problems! > BUT ... we're wearing them down! I am optimistic that a whole bunch of > circumstances means that resistance, as they say, will soon be futile. In this series of mails I have tried to put things into perspective to reach exactly that. I hope CSP academia turn out to be realistic scientists that try to avoid "religious" "world improving" terminology. I know this is difficult: I believe in the solution as much as many of you do. > Now - much more than the mid 1980s when appication needs/ambitions were > much lower - would be the time to launch transputer and associated software > and hardware technologies. The applications really do need them. I do NOT agree! There are two reasons to use a parallel processing system: 1. The application is intrinsically distributed. In that case, there is NO PROBLEM. You are pretty much FORCED to use Message Passing, therefore the CSP-based ideas are already implemented, and CSP will help only marginally: indeed, the proving maths help in some systems. 2. The application needs a lot of performance. Only few application need a LOT of computing power. People usually buy a large processor. One large processor is usually cheaper than a few smaller ones. Computer power grows exponentially (doubling every 1.5 year). By using a TWO-processor system, you can only be 3 years ahead (in theory). In practice, the communication overhead will be too large to get any benefit at all. Furthermore, applications that need a lot of computing power can usually use BSP-based methods or Farming as a solution. The benefit of CSP in those cases is limited. Conclusion: the use of CSP for parallel systems is in fact limited! I think the power of CSP is in: - LARGE SINGLE PROCESSOR APPLICATIONS, in which the OO method has proven to FAIL. - Hardware/Software codesign, see Handle-C, and similar approaches. > So, maybe we should stop giving away solutions on a plate and start *selling* > them instead. They'll take that seriously! Who wants to be a millionaire? Philips would never buy JavaPP. Only a limited subset of the library is useful to us: the CORE. That CORE can be rebuilt within a couple of weeks. (I know your solution would have some more MARGINALLY better ideas) Furthermore, we use a different OO language. The integration effort is orders of magnitute higher than building the basic blocks. A company would never make their core business depend on some weird academic excercise. In other words: get real! To make money, either: 1. Some startup company needs to pickup the ideas. They get the money, and after years, you might get some fame and money due to point .2. (you could try to be that startup company...) 2. You start (in coop with industry) solving real industrial problems, and start making money as an advice centrum. This will make the university very happy... The second option is the one I suggest. By the way: this mail is not meant personally; I like, and respect, you, Peter, a lot! If I didn't, I wouldn't even bother to write this e-mail...! I'm just trying to put things into perspective. Cheers, Marcel