Forum OpenACS Q&A: NetBSD thread implementation - Good for NetBSD-OACS hackers?

Hi,

For those more in tune with what this kind of announcement means, I was wondering if this might be a sign that AOLserver and the OACS architecture might finally work reliably on NetBSD:

Jason Thorpe has merged the nathanw_sa branch with -current. NetBSD now has a high performance, modern kernel thread implementation using Scheduler Activations in the main source tree. This work was performed by Nathan Williams with contributions by several other developers.

...

Scheduler Activations is an efficient method of mapping N userland threads to M kernel threads which avoids both the concurrency problems of N:1 implementations and the scalability problems of 1:1 implementations.

With native threads now available in NetBSD-current, applications from pkgsrc will readily pick it up upon rebuild, and things will be fixed over the coming time.

TIA

talli

Talli, I know that AOLserver runs great on OpenBSD since v2.7 at least.  I am sure that NetBSD runs AOLserver just as well as OpenBSD does; perhaps better.

I am not a threading guru, but have not had problems with either BSD running AOLserver.

From my understand the major problem the flawed AOLserver on *BSD was the use of exec, which had a patch to fix it (and that patch is in the OpenACS AOLserver distribution).

I did development work on Uptime for quite a while on OpenBSD, using the exec patch, without a problem.

Has anybody used OpenACS and NetBSD recently with or without problems?

I am sure that NetBSD runs AOLserver just as well as OpenBSD does

OpenBSD has had native thread support for some time, NetBSD has not. I haven't tried using Open, but I imagine it would make a difference.

Has anybody used OpenACS and NetBSD recently with or without problems?

I have tried, it did (mostly) work, but performance was abysmal.

NetBSD has several add-on userland thread packages, I was only able to get aolserver to work with one of them.

I haven't yet had a chance to investigate the performance issues, but I will probably try the new NetBSD thread code and see how it looks.

I recently tried getting AOLserver/OpenACS to run on OpenBSD 3.2. AOLserver kept crashing at regular intervals in _thread_sys_datetime() or some such. Eventually I decided to move my test machine to FreeBSD, as there was also issues with l10n/i18n on OpenBSD. With FreeBSD 4.7 I haven't had any problems at all. This is with the recommended source packages as platform for OpenACS.

At least OpenBSD 2.8 had a serious bug in the threading library, which caused Zope to fail for me. Seems there may still be a rough spot or two.

I cannot comment much on performance, but the memory footprint of AOLserver running a base installation of OpenACS on OpenBSD caused it to hit the default memory limit for user processes, which is 64MB. On FreeBSD the same conditions causes the AOLserver process to consume around 43MB.

Frank.

I am running several servers on 3.0 and 3.2 versions of OpenBSD and am not seeing the problems you describe.  I am using the 3.3.1+ad13 version of AOLserver.  I have seen many kinds of weird behavior with the non-ad13 patched source on OpenBSD.  I suspect that it is some kind of linking problem or something to do with the makefiles, but have not examined it further.

I have not seen it quite hit 64MB, but I do give it more via ulimit or via login.conf, where you can assign limits based on user class.

A busy OpenACS 3.2.5 based install takes between 30 and 38MB RAM (plus Postgres processes); my 4.6-beta install takes about 42MB, but not much is used and not many packages are installed.

A heavily loaded instance with lots of caching and modules that I run for one of my customers consumes between 40MB when started and about 95-115MB once it has been running for a few days.

Well, a pilot error on my part is a definite possibility here, as I am fairly new to OpenACS. Would have been nice if I had figured out where I may have erred, as I *thought* I followed the install docs as far as OpenBSD would allow. Other newcomers may find the same hole I went in.

I had to adjust ulimit to get AOLserver to run at all, as it failed gracefully in a malloc(), but the core dump was a different issue altogether from what I could see.

Apart from the FreeBSD specific quirks, then I didn't and don't have any problems when installing on that platform.

Frank.