[M3devel] OS for CM3

Mika Nystrom mika at async.async.caltech.edu
Sun May 23 02:08:49 CEST 2010


Well I know all about the various OS tradeoffs, I was asking more
about Modula-3 itself.

I want to use kernel threads, so I can share large data structures 
across CPUs.  This is for production work, not a development platform.
My main development platform will probably stay FreeBSD/i386 for a while.

Yes I agree Linux is chaotic.  But I can't stand Windows, because I
hate GUIs (because I can't automate them and my philosophy is to make
the computer work for me, not the other way around).  I know all the
old-fashioned Unix admin commands by heart (I am somewhat dismayed
that the old kill -1 convention for making daemons re-read their config
files seems to have fallen by the wayside!)  My .twmrc is dated 1992.
And PageUp etc work fine in emacs for me :-)

In other words the system will just have command-line access.  In
fact it's supposed to sit in a locked machine room.

Err, to the point... maybe it got lost in the vague generality of the
question.  

My real question is: do kernel threads work on *BSD at all?

I haven't done a proper back to back test but the Debian system
"seems faster" than FreeBSD, running on the same amd64 hardware.

Or perhaps.. crazy question.. can one make a hackintosh/amd64 out of a
16-core machine?

I seem to remember Tony made some (bad) comments about FreeBSD kernel
threads a few months ago...

    Mika

Jay K writes:
>
>ps: Slackware was fine back when I used it. RedHat is ok=2C but it at least=
> used to take forever to do any package management compared to Ubuntu/Debia=
>n.
>Suse has/had RedHat's problem=2C also being rpm basedi but also seemed to l=
>ead in gui/managability.
>
>
>Anyway=2C other than Mac and NT=2C all my other systems are now ssh command=
> line and impossible to do much with. :)
>
>
>ps: I also like *BSD due to the reduced number of choices=2C and the "integ=
>rated build"=2C where you can build a bit
>more in one nice go=2C not just the kernel. Linux is so darn chaotic.
>But I rarely take any advantage of this.
>I would really like=2C whatever I run=2C to build the entire thing from sou=
>rce=2C and do it fairly easily.
>=A0Have the whole thing be debuggable.
>=A0Cross building support would be nice too=2C though lately people seem to=
> give up and use qemu.
>=A0 Too much building stuff wants to run as it builds=2C like using autocon=
>f.
>
>
>=A0- Jay
>
>----------------------------------------
>> From: jay.krell at cornell.edu
>> To: dragisha at m3w.org=3B mika at async.async.caltech.edu
>> CC: m3devel at elegosoft.com
>> Subject: RE: [M3devel] OS for CM3
>> Date: Sat=2C 22 May 2010 23:35:52 +0000
>>
>>
>> Modula-3 will run on almost anything. Install something we don't work on =
>yet and give me ssh access. :)
>> Like get a Loongson laptop -- comes with Linux/MIPS but can also run Open=
>BSD and maybe others.
>> Or=2C install something we don't have yet in Hudson yet=2C e.g. NetBSD/am=
>d64=2C and have Olaf add jobs for it.
>>
>> Seriously=2C for Hudson purposes=2C NetBSD/amd64 is probably the best=2C =
>followed by NetBSD/x86.
>> I'll set these up eventually.
>>
>>
>> Regarding Linux=2C I've been using Debian=2C because it has about the bes=
>t support for multiple architectures.
>>   And then the same "experience" across all of them -- same installer and=
> package management.
>>
>>
>> Gentoo would be the next or previous choice -- not clear what the ppc64 s=
>upport is in Debian.
>> It helps that I first used wimpy Ubuntu before moving up to the supposedl=
>y manly Debian.
>> Gentoo I've had trouble getting to install+boot.
>>
>>
>> OpenBSD has about the best install experience imho and a certain hard to =
>capture purity about it.
>>   Examples:
>>      NetBSD and FreeBSD support powerpc.
>>      FreeBSD's partitioner doesn't run on powerpc though.
>>      NetBSD I couldn't get to install.
>>      OpenBSD was easy.
>>
>>      Attempting to install Linux or NetBSD on an SGI machine apparently k=
>illed the machine.
>>      I couldn't get either to install or boot. One of them might not have=
> local console working.
>>      But again OpenBSD was easy and worked.
>>
>>
>>     My OpenBSD/sgimips CD was actually bad. But it worked enough to boot=
>=2C and the
>>     the install was then easy to fallback to over the network.
>>
>>
>> But they don't have kernel threads=2C so=2C while we work=2C we probably =
>scale the worst here.
>>   Besides=2C user threads are an /option/ on all Posix systems=2C only /r=
>equired/ on OpenBSD.
>>
>>
>> I think all the user interfaces are terrible though.
>> I am most productive by far on NT=2C using find-in-files countless times =
>daily in Visual C++ 5.0.
>>  It is so much better than command line grep=2C and it beats every other =
>IDE/editor I have tried=2C
>>  and I have tried many. Komodo Edit is so-so. MonoDevelop was promising=
>=2C but it refused
>>  to open *.m3 files as plain text. TextWrangler on Mac is so-so=2C what I=
> use for lack
>>  of anything good. Eclipse is confusing to install and I don't think work=
>ed well=2C but I forget.
>>
>>
>> Mac is distant second in productivity.
>>   At least I don't have to constantly flip the newlines and it has a fast=
> fork.
>>
>>
>> Everything else I can't even edit files on. I can't copy/paste=2C navigat=
>e quickly (e.g. esp. using
>> page up/down/home/end/mouse!). NT also has a fast console with half decen=
>t most support.
>>
>>
>> My most productive pattern is editing on NT and copying files around othe=
>rwise.
>>
>>
>> As well=2C consider that the NT Modula-3 backend is unique and pretty dar=
>n good.
>>   It is fast=2C in-proc=2C and always optimizes a certain amount.
>>   In its only mode=2C it generates significantly better code than unoptim=
>izing gcc.
>>
>>
>>  Compiling N files on NT takes one process to compile=2C codegen=2C write=
> objs files=2C
>> and then another one or two to link.
>>
>>
>> Compiling N files on the other systems takes one process to compile=2C N =
>runs
>> of m3cg to generate N asssembly files=2C N runs to run the assembler.
>>
>>
>> If you really need an *occasional* Posixy experience on NT=2C there is Cy=
>gwin and SFU/SUA.
>> Cygwin has a very slow fork and it is very noticable.
>> SFU/SUA has a "normally" fast fork=2C and it is very noticable.
>>
>>
>> FreeBSD=2C Solaris=2C NetBSD=2C Linux -- should all be about the same.
>>  (ok=2C Solaris/x86 support is only in head=2C not release).
>>
>>
>> Then there are the non-x86 ones=2C like HP-UX=2C OSF/1=2C Irix=2C AIX=2C =
>VMS... :)
>>
>>
>> Also=2C for Hudson purposes=2C we need Java.
>> That actually rules out a lot -- basically any *BSD that isn't x86/amd64.
>> Linux now has good enough Java on all architectures.
>>   There was a project to eliminate all the assembly code. And we have no =
>problem
>>     e.g. now on Linux/sparc and Linux/powerpc.
>>
>> All the commercial systems probably suffice also.
>>
>>  - Jay
>>
>> ----------------------------------------
>>> From: dragisha at m3w.org
>>> To: mika at async.async.caltech.edu
>>> Date: Sun=2C 23 May 2010 00:32:25 +0200
>>> CC: m3devel at elegosoft.com
>>> Subject: Re: [M3devel] OS for CM3
>>>
>>> There is no simple nor unique answer to this. I prefer Fedora=2C and I'v=
>e
>>> been using RedHat since 1996... Some people prefer RHEL=2C or CentOS if
>>> they like it freer. Jumped of SLS then Slackware I've been using from
>>> 1993-1995=2C and never looked back.
>>>
>>> Easy to administer and maintain=2C most of modern distros have GUI for
>>> every admin task.
>>>
>>> On Sat=2C 2010-05-22 at 14:53 -0700=2C Mika Nystrom wrote:
>>>> Hi Modula-3ers=2C
>>>>
>>>> Can anyone give me some advice on what OS to install on a new PC comput=
>e
>>>> server with 16 to 24 cores and 16 to 32 GB of RAM? The code I'm going
>>>> to be running is all written in Modula-3 with some C and Fortran thrown
>>>> in and I want to use CM3. The odd extra thing in Java and some analysis
>>>> in R. Currently I'm stuck with PM3 on FreeBSD/i386.
>>>>
>>>> I've always liked the ease of administration (i.e.=2C I'm an old dog an=
>d I
>>>> don't have to learn anything new) of FreeBSD=2C but the threading suppo=
>rt
>>>> seems much better with Linux? I do really want to run multi-threaded
>>>> programs across several CPUs.
>>>>
>>>> I am considering Debian/amd64. Any other recommendations=2C experiences=
>?
>>>>
>>>> Mika
>>>
>>> --
>>> Dragi=B9a Duri=E6
>>>
>>
> 		 	   		  =



More information about the M3devel mailing list