Socket

Since a while I’m searching for a Mini-ITX-motherboard for a small homeserver. This homeserver should contain six devices (1x SSD, 4x HDD, 1x optical) and should have enough power to provide decent performance with the four HDDs configured as software-RAID with encryption. An Atom-processor doesn’t fulfil this requirement, because it is simply too slow. My choice would be one of the 45W-Quadcore-Athlons from AMD (like the AMD Athlon II X4 615e), because these CPUs are powerful, but efficient. But these processors are only available for socket AM3.
If we sum up the requirements I’ll need a Mini-ITX-motherboard with socket AM3 and 6 SATA ports. But no manufacturer seems to have a motherboard with such a configuration. There exists a motherboard from Gigabyte with 6 SATA-ports, but this motherboard only provides a AM2+-socket and doesn’t support AM3 CPUs (there is also no BIOS-update planned to add this functionality). The few motherboards which exists with AM3 socket provide at best 4 SATA-ports and one IDE-port. I wonder why manufacturer nowadays still add an IDE-port instead of two additional SATA-ports.

My preferred (not yet existing) Mini-ITX-motherboard would look like:

mini-ITX

AMD 880G + SB850
(Radeon HD 4250 IGP)

internal connectors:
1x socket AM3 supporting CPUs up to 65W TDP
2x DDR3-1600/1333/1066 SO-DIMM up to 16GB
1x PCIe x16 (x16 Bandwidth)
1x mini-PCIe
6x USB 2.0
1x internal Displayport
6x SATA-II
1x CPU Fan
2x system fan
1x 24-pin ATX power connector
2x serial connectors
1x front panel connector

backplane:
1x Displayport
1x HDMI
6x audio jacks
1x S/PDIF Out
6x USB 2.0
2x RJ45 Gigabit-Ethernet
3x SMA connectors for WLAN/Bluetooth/... antennas

I don’t see any reason why such a motherboard shouldn’t be possible from technical point of view.
Does somebody know why the motherboard-manufacturers don’t sell motherboards with this features or is there already I motherboard which does fulfil my requirements (AM3-socket + 6 SATA-ports)?

Im Rahmen meines Hiwi-Jobs beschäftige ich mich zur Zeit mit der Quake3-Engine in Form von ioquake3. Und zwar geht es darum Möglichkeiten auszuloten und gegebenenfalls umzusetzen wie man die Engine am besten auf die VR-Anlage unseres Institutes bekommt um damit beispielsweise virtuelle Rundgänge durch Gebäude zu zeigen.
Dabei stieß ich auf auf einige lustige Sachen. Zum Beispiel fand sich an einer Stelle im Quelltext folgender Kommentar:

// all drawing is done to a 640*480 virtual screen size
// and will be automatically scaled to the real resolution

Ich weiß ja nicht ob alle Spiele das so machen, aber ein bisschen merkwürdig find ich das schon. 😉
Heute beschäftigte ich mich dann ein wenig mit der Kommunikation zwischen Client und Server, da ich dazwischen gegebenenfalls einen Proxy bauen will. Die Kommunikation läuft über UDP. Soweit so gut. Sie läuft aber auch Out-of-Band. Warum habe ich bisher noch nicht rausfinden können, aber in meinen Augen erscheint das leicht sinnlos zu sein. Aber nun gut. Ich wollte mir also in Python einen kleinen UDP-Client schreiben mit dem ich einen Server vorgaukeln kann ich wäre ein Client. Dazu brauchte ich ja aber nun Out-of-Band-Nachrichten. Aber kein Problem: Die Socketbibliothek von Python unterstützt bei allen Sende- und Empfangsfunktionen Flags von recv, unter denen sich auch eins namens MSG_OOB für Out-of-Band-Kommunikation befindet. Für socket.recv funktioniert das Flag, für socket.sendto wo ich es eigentliche brauchte, nicht. Dort kriege ich nur ein schönes

socket.error: (95, ‘Operation not supported’)

Andere Flags funktionieren allerdings.
Falls also einer der Leser dieses Beitrages zufällig weiß, wie man das eventuell doch zum laufen kriegen könnte, dann bin ich froh über jeden Tipp. Ansonsten werd ich das demnächst wohl nochmal in C implementieren müssen. 🙁

Edit: Offensichtlich ist Out-of-Band nur für TCP spezifiziert. Das was bei der Quake-Engine als Out-of-Band bezeichnet wird hat also technisch nichts mit dem eigentlichen Out-of-Band zu tun. Die Pakete sind durchaus in-Band, enthalten aber zu Beginn die Zeichenfolge “0xff 0xff 0xff 0xff” was sie in Quake-Logik zu Out-of-Band-Paketen macht.