Hello, Am 22.12.2007 um 03:11 schrieb Miguel de Icaza:
>> Personally, I'd >> rather stick with the published ECMA standard and a superior Mono >> implementation than with some evolving Microsoft CTP potentially >> leading to IPR questions at some point. Virtually nobody uses their >> Compute Cluster Edition anyway. > > Well, the problem with System.Threading.Parallel is that it has never > been used in practice as far as I know. This was an API designed by > Intel and submitted to ECMA, but as far as am aware, it did not go > through the regular process of API usability testing or got any use > beyond its definition. > > The CTP process (or any other process) in which APIs are implemented > and > then refined based on actual usage patterns did not benefit this > library. True, but my point was that an estimated 99% of all clusters run Linux/ Unices; Microsoft will therefore not get feedback from those as part of their CTP process, only from regular users optimizing .NET code for their Windows-based multi-core/multi-processor systems and maybe the ~5 (?) Microsoft-sponsored universities worldwide running Windows Server CCE, launched in late 2005. So the vast majority of cluster users are exclusively on our target platforms anyway, and thus it's up to us to provide some decent API ("a superior Mono implementation"): Neither ECMA nor Microsoft will be sufficient for this niche at this stage, and without someone like me implementing something what-so-ever that can be evaluated on our platform and on our side of the market-share, we can't really tell. I wasn't saying ECMA-335 were perfect or complete, but STP is certainly a starting point. I've had a brief look at JSR-166 (java.util.concurrent), which has undergone the Java Community Process evaluation procedures, and its API looks highly complicated, more like a full MPI equivalent with all kinds of synchronization classes. That contrasts with the simplistic design of ECMA STP, which I really like; I prefer it hiding the underlying complexity from the application developer, but would like to have that exposed to developers on a secondary level nontheless, as a Mono-specific bonus feature. Judging from this article [1] Microsoft seem to stick rather close to the ECMA design, but call things differently (System.Concurrency.dll; static method Parallel.For) and add a few operations and classes (Parallel.Aggregate, Parallel.Do, Task<T>, TaskManager); they do seem to still focus on multi-processor systems rather than on HPC applications. Andreas [1] http://msdn.microsoft.com/msdnmag/issues/07/10/Futures/default.aspx?loc=en _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list