<CHAPTER ID="WHAT">
<!-- <TITLE>So what is openMosix Anyway ? </TITLE> -->
<TITLE>openMosix とは何か</TITLE>
<!--
<SECT1><TITLE>A very, very brief introduction to clustering </TITLE>
-->
<SECT1><TITLE>クラスタリングについて−ちょっとした説明</TITLE>
<PARA>

 <!--
 Most of the time, your computer is bored. Start a program like xload
  or top that monitors your system use, and you will probably find that
  your processor load is not even hitting the 1.0 mark. If you have two
  or more computers, chances are that at any given time, at least one
  of them is doing nothing. Unfortunately, when you really do need CPU
 power - during a C++ compile, or encoding Ogg Vorbis music files -
 you need a lot of it at once. The idea behind clustering is to spread
  these loads among all available computers, using the resources that
  are free on other machines.
 -->
 コンピュータは大部分の時間空いています。xload や top のようなシステムの
 利用状況をモニタするプログラムを動かせば、恐らくプロセッサのロードの平均
 が 1.0 にさえも届かないことがわかるでしょう。コンピュータが 2 台以上ある
 なら、どんな時でも少なくとも 1 台は何もしていない公算が大きいでしょう。
 残念なことに、本当に CPU パワーが必要となる時には− C++ をコンパイルして
 いる時や Ogg Vorbis の音楽ファイルをエンコードしている時−同時にもっと 
 たくさんの CPU が必要です。クラスタリングの背景にあるアイディアは利用できる
 すべてのコンピュータに負荷をばらまき、他のマシンで空いているリソースを使う
 ことです。

</PARA>
<PARA>

<!--
  The basic unit of a cluster is a single computer, also called a
  "node". Clusters can grow in size - they "scale" - by adding more
  machines. A cluster as a whole will be more powerful the faster the
  individual computers and the faster their connection speeds are. In
  addition, the operating system of the cluster must make the best use
  of the available hardware in response to changing conditions. This
  becomes more of a challenge if the cluster is composed of different
  hardware types (a "heterogeneous" cluster), if the configuration of
  the cluster changes unpredictably (machines joining and leaving the
  cluster), and the loads cannot be predicted ahead of time.  
-->
クラスタの基本構成は、単独のコンピュータです。これは「ノード」とも呼ばれ
ます。クラスタはさらにマシンを追加することで拡張−「サイズ」や「スケール」
という表現をとります−が可能です。クラスタは概して個々のマシンが速いほど、
マシン間の接続速度が高速なほど、パワフルになります。
さらにクラスタのオペレーティングシステムは、状況変化に応じて利用可能な
ハードウェアを最大限に活用しなければいけません。クラスタが様々なコンピュータ
のタイプから構成される場合(「異種」クラスタ)やクラスタの構成が不用意に
変化し(マシンがクラスタに出たり入ったりする)負荷が事前に予測できないと、
最大限に活用するのにはいっそう多くの困難が伴います。

</PARA>

<SECT2>
<!-- <TITLE>A very, very brief introduction to clustering </TITLE> -->
<TITLE>クラスタリングについて−ちょっとした前置き</TITLE>
<SECT3>
<!-- <TITLE>HPC vs Fail-over vs Load-balancing</TITLE> -->
<TITLE>HPC vs フェイルオーバー vs ロードバランシング</TITLE>
<PARA>
<!--
Basically there are 3 types of clusters, 
Fail-over, Load-balancing and HIGH Performance Computing, 
The most deployed ones are probably the Failover cluster and the Load-balancing Cluster.
-->
クラスタは 3 タイプあります。フェイルオーバーとロードバランシングと
ハイパフォーマンスコンピューティングです。
既設の大部分は、恐らくフェイルオーバーとロードバランシングです。
</PARA>
<itemizedlist><listitem>
<!--
<PARA><emphasis>Fail-over Clusters</emphasis> consist of 2 or more network connected
computers with a separate heartbeat connection between the 2 hosts.
The Heartbeat connection between the 2 machines is being used to
monitor whether all the services are still in use: as soon as a
service on one machine breaks down the other machines try to take
over.
-->
<PARA><emphasis>フェイルオーバークラスタ</emphasis>はネットワーク接続した 
2 台以上のコンピュータで、独立したハートビート接続を 2 ホスト間で結んで
います。
2 ホスト間でのハートビート接続は、全サービスが利用可能かどうかをモニタする
のに利用します。1 つのマシンでサービスが落ちると、別のマシンがサービスを
引き継ごうとします。
</PARA> </listitem>
<listitem>
<PARA>
<!--
With load-balancing clusters the concept is that when a request for
say a web-server comes in, the cluster checks which machine is the
least busy and then sends the request to that machine.  Actually most
of the times a Load-balancing cluster is also a Fail-over cluster but
with the extra load balancing functionality and often with more nodes.
-->
ロードバランシング・クラスタのコンセプトは、例えば Web サーバにリクエスト
が来ると、クラスタが最も暇なマシンをチェックして、そのリクエストを該当する
マシンに送るというものです。現実にはロードバランシング・クラスタはフェール
オーバークラスタにロードバランシング機能を追加し、さらに多くのノードを伴う
ケースが多くあります。
</PARA>
</listitem>
<listitem>
<PARA>
<!--
The last variation of clustering is the High Performance Computing
Cluster: the machines are being configured specially to give data
centers that require extreme performance what they need.  Beowulfs
have been developed especially to give research facilities the
computing speed they need. These kind of clusters also have some
load-balancing features; they try to spread different processes to
more machines in order to gain performance. But what it mainly comes
down to in this situation is that a process is being parallelized and
that routines that can be ran separately will be spread on different
machines instead of having to wait till they get done one after
another.
-->
最後に挙げるクラスタは、ハイパフォーマンス・コンピューティングのクラスタ
です。
マシンはデータセンターが必要とする高い性能に見合うように、特別にチューニング
されています。Beowulf は研究施設で求められる計算速度を得るのに焦点を当て、
開発されました。
このタイプのクラスタは、ロードバランシング機能も持っています。異なるプロセスを
より多くのマシンに分散させることで性能を得ています。しかし結局はプロセスは
並列化され、独立して動作できるルーチンはお互いに終了を待つことなく異なる
マシンに分散されています。
</PARA>
</listitem>
</itemizedlist>
<!--
<para>Most common known examples of loadbalancing and failover clusters are webfarms, databases or firewalls.
People want to have a 99,99999% uptime for their services, the internet is open 24/24 7/7/ 365/365 
not unlike in the old days when you could shut down your server when the office closed. 
</para><para>People that are in need of cpu cycles often can afford to schedule downtime for their environments, 
as long as they can use the maximum power of their machines when they need it.
-->
<para>ロードバランシングとフェイルオーバータイプのクラスタの例として広く
知られているのは、Web システムやデータベース、ファイアーウォールです。
このサービスには 99.99999 % の稼動率が要求されています。インターネットは年中
無休で動いており、もうオフィスが閉まるとサーバを落とすという時代ではありません。
</para><para>CPU サイクルが必要な場合、ダウンタイムを予定に入れても差し支え
ないでしょう。しかしそれは必要な時に最大限のマシンパワーが手に入るケースです。
</para>
</SECT3> 

<SECT3>
<!-- <TITLE>Supercomputers vs. clusters</TITLE> -->
<TITLE>スーパーコンピュータ vs. クラスタ</TITLE>
<PARA>

<!--
Traditionally Supercomputers have only been built by a 
selected number of vendors: a company or organization that required
the performance of such a machine had to have a huge budget available
for its Supercomputer.  Lots of universities could not afford the
costs of a Supercomputer by themselves, therefore other alternatives
were being researched by them.  The concept of a cluster was born when
people first tried to spread different jobs over more computers and
then gather back the data those jobs produced.  With cheaper and more
common hardware available to everybody, results similar to real
Supercomputers were only to be dreamed of during the first years, but
as the PC platform developed further, the performance gap between a
Supercomputer and a cluster of multiple personal computers became
smaller.
-->
これまでスーパーコンピュータは、限られたベンダーによってのみ構築されて
きました。スーパーコンピュータのような性能を必要としている企業や組織は、
巨額の資金を準備できなければいけませんでした。大学の多くは自力でスーパー
コンピュータのコストを賄えませんでした。そこで他の手段を検討しました。
まず異なるジョブをより多くのコンピュータに分散し、ジョブの結果のデータを
集めてこようとしたことから、クラスタという発想が生まれました。もっと安価で
誰もが利用できる一般的なハードウェアによって、これまでただあこがれていた
だけだったスーパーコンピュータと同じ結果が得られます。しかし PC プラット
フォームはさらに進化し、スーパーコンピュータと複数のパーソナルコンピュータ
で組んだクラスタ間の性能差は縮まって行きます。

</PARA> 
</SECT3> 
<SECT3> 
<!-- <TITLE>Cluster models [(N)UMA,  PVM/MPI]</TITLE> -->
<TITLE>クラスタモデル[(N)UMA,  PVM/MPI]</TITLE>
<PARA>
<!--
There are different ways of doing parallel processing: (N)UMA, DSM,
PVM and MPI are all different kinds of Parallel Processing schemes. Some of them are implemented in hardware, 
others in software, others in both.
-->
並列処理にはやり方がいくつかあります。(N)UMA、DSM、PVM、MPI がそれで、
様々な並列処理手法をとっています。ハードウェアで実装されているものもあれば、
ソフトウェアによるもの、またはその両者によるものもあります。
</PARA>
<!--
<PARA>(N)UMA ((Non-)Uniform Memory Access), machines for example have
shared access to the memory where they can execute their code.  In the
Linux kernel there is a NUMA implementation that varies the memory
access times for different regions of memory.  It then is the kernel's
task to use the memory that is the closest to the CPU it is using.
-->
<PARA>(N)UMA ((Non-)Uniform Memory Access)は、コードの実行を共有メモリ上で
行えるマシンの例です。Linux カーネルには NUMA の実装が入っており、異なる
場所にあるメモリへのアクセスタイムに修正を施してあります。CPU に最も近い
メモリを使用するのはそれを使っているカーネルの役目です。
</PARA>
<!--
<para><emphasis>DSM</emphasis> aka Distributed Shared memory, has been implemented in both software and hardware , 
the concept is to provide an abstraction layer for physically distributed memory.
-->
<para><emphasis>DSM</emphasis>、つまり分散共有メモリ(Distributed Shared 
memory)は、ソフトウェア、ハードウェア両者で実現しています。分散している
物理メモリに対して、仮想レイヤを提供するのがコンセプトです。
</para>

<PARA>
<!--
PVM and  MPI are the tools that are most commonly being used when people
talk about GNU/Linux based Beowulfs. </para><Para> MPI stands for Message Passing
Interface. It is the open standard specification for message passing
libraries.  MPICH is one of the most used implementations of MPI. Next
to MPICH you also can find LAM, another implementation of MPI based on
the free reference implementation of the libraries.
-->
PVM と MPI は GNU/Linux ベースの Beowulf を語る時に頻繁に使われるツール
です。</para><Para>MPI はメッセージパッシングインタフェース(Message 
Passing Interface)の略称です。メッセージパッシングライブラリの標準規格です。
MPICH は MPI の実装の中で一番利用されている実装です。MPICH の次によく
見かけるのが LAM です。MPI ベースの別実装で、ライブラリがフリーでリファレンス
実装されています。
</PARA>
<PARA>
<!--
PVM or Parallel Virtual Machine is another cousin of MPI that is also
quite often being used as a tool to create a Beowulf.  PVM lives in
user space so no special kernel modifications are required: basically
each user with enough rights can run PVM.
-->
PVM(Parallel Virtual Machine)は MPI の同系統で、Beowulf を構築する
ツールとしてよく利用されています。PVM はユーザ空間で動きますので、
カーネルに特別な修正を施す必要はありません。ユーザが十分な権限を持って
いれば PVM は動作します。

</PARA>
</SECT3>
<SECT3>
<!-- <TITLE>openMosix's role</TITLE> -->
<TITLE>openMosix の位置づけ</TITLE>
<PARA>

<!--
  The openMosix software package turns networked computers running
  GNU/Linux into a cluster. It automatically balances the load between
  different nodes of the cluster, and nodes can join or leave the
  running cluster without disruption of the service. The load is
  spread out among nodes according to their connection and CPU speeds.
-->
  openMosix ソフトウェアパッケージを使えば、ネットワークに接続している 
  GNU/Linux が動作しているコンピュータを、1 つのクラスタに変えられます。
	クラスタに所属するノード間で自動的に負荷分散します。そしてサービスを
	中断することなく、ノードが動作中のクラスタに出たり入ったりできます。
	接続速度や CPU 速度に応じて、負荷をノード間に分散します。
</PARA>
<PARA>

  <!--
	Since openMosix is part of the kernel and maintains full
  compatibility with Linux, a user's programs, files, and other
  resources will all work as before without any further changes. The
  casual user will not notice the difference between a Linux and an
  openMosix system. To her, the whole cluster will function as one
  (fast) GNU/Linux system.
	-->
	openMosix はカーネルの一部であり、Linux と完全互換であるように
	メンテナンスされています。したがってユーザのプログラムやファイルその他
	のリソースは、何も変更することなく動作します。一般ユーザは 1 台の Linux と 
	openMosix システムの区別がつかないでしょう。一般ユーザにとって、クラスタ
	全体が 1 台の(高速な)GNU/Linux システムとして機能するからです。

</PARA>
<PARA>
<!--
openMosix is a Linux-kernel patch which provides full compatibility
with standard Linux for IA32-compatible platforms. The internal
load-balancing algorithm transparently migrates processes to other
cluster members.  The advantage is a better load-sharing between the
nodes. The cluster itself tries to optimize utilization at any time
(of course the sysadmin can affect the automatic load-balancing by
manual configuration during runtime).
-->
openMosix は IA32 互換のプラットフォームで動く標準的な Linux と完全互換
なカーネルパッチとして用意されます。内部のロードバランシング・アルゴリズム
によって透過的にプロセスを他のクラスタのメンバーにマイグレートします。
長所はノード間でロードバランシングがうまく働くことです。クラスタ自身が
稼働率を常時最適化しています(システム管理者は、手動で動作中の自動ロード
バランシングを設定変更できます)。
</PARA>

<PARA>
<!--
This transparent process-migration feature makes the whole cluster
look like a BIG SMP-system with as many processors as available
cluster-nodes (of course multiplied with X for X-processor systems
such as dual/quad systems and so on).  openMosix also provides a
powerful optimized File System (oMFS) for HPC-applications, which
unlike NFS provides cache, time stamp and link consistency.
-->
この透過的なプロセス・マイグレーション機能は、クラスタ全体をクラスタ・ノード
で利用できるだけのプロセッサを搭載した 1 つの「大きな」 SMP システムのように
見せます(X 台なら X 個プロセッサを積んだシステムになります。
例えば デュアル、クワッドシステムというように)。openMosix は HPC 向けに最適化
されたファイルシステム(oMFS)も用意しています。NFS とは異なり、キャッシュや
タイムスタンプ、リンクの整合性があります。
</PARA>

</SECT3>
</SECT2>


</SECT1>
<!-- <SECT1><TITLE>The story so far</TITLE> -->
<SECT1><TITLE>これまでのこと</TITLE>
<!-- <SECT2><TITLE>Historical Development</TITLE> -->
<SECT2><TITLE>開発史</TITLE>
<PARA>

<!--
Rumours say that Mosix comes from Moshe Unix. 
Initially Mosix started out as an application running on BSD/OS 3.0.
-->
Rumours 氏は Mosix が Moshe Unix から生まれたと述べています。
当初 Mosix は BSD/OS 3.0 で動くアプリケーションとしてはじまりました。

<PROGRAMLISTING>
Announcing MO6 for BSD/OS 3.0
Oren Laadan (orenl@cs.huji.ac.il)
Tue, 9 Sep 1997 19:50:12 +0300 (IDT)

<!--
Hi:
-->
こんにちは。

<!--
We are pleased to announce the availability of MO6 Version 3.0
Release 1.04 (beta-4) - compatible with BSD/OS 3.0, patch level
K300-001 through M300-029.
-->
うれしいお知らせです。MO6 Version 3.0 Release 1.04 (beta-4)が利用可能に
なりました。BSD/OS 3.0 互換でパッチレベルは K300-001 から M300-029 に
なります。

<!--
MO6 is a 6 processor version of the MOSIX multicomputer enhancements
of BSD/OS for a PC Cluster. If you have 2 to 6 PC's connected by a
LAN, you can experience truly multi-computing environment by using
the MO6 enhancements.
-->
MO6 は 6 プロセッサ・バージョンで、PC クラスタ用に BSD/OS を強化した 
MOSIX マルチコンピュータです。2 〜 6 台の PC を LAN 接続し、MO6 拡張
による真のマルチコンピューティング環境を享受できます。

<!--
The MO6 Distribution
--------------------
MO6 is available either in "source" or "binary" distribution. It is
installed as a patch to BSD/OS, using an interactive installation
script.
-->
MO6 の配布について
--------------------
MO6 は「ソース」も「バイナリ」も配布しています。BSD/OS に対するパッチ
としてインストールされ、インストールには対話形式のスクリプトを使用します。

<!--
MO6 is available at http://www.cnds.jhu.edu/mirrors/mosix/
or at our site: http://www.cs.huji.ac.il/mosix/
-->
MO6 は http://www.cnds.jhu.edu/mirrors/mosix/ もしくは
私のサイトである http://www.cs.huji.ac.il/mosix/ から入手できます。

<!--
Main highlights of the current release:
&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;
- Memory ushering (depletion prevention) by process migration.
- Improved installation procedure.
- Enhanced migration control.
- Improved administration tools.
- More user utilities.
- More documentation and new man pages.
- Dynamic configurations.

Please send feedback and comments to mosix@cs.huji.ac.il.
&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;
-->
今回のリリースの目玉
&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;
- プロセス・マイグレーションによるメモリの先読み(消費防止)(？)
- インストール方法を改善
- マイグレーションの制御強化
- 管理ツールの改善
- ユーザ用ユーティリティの追加
- ドキュメントと man の追加
- 動的な設定

フィードバックやコメントは mosix@cs.huji.ac.il までお願いします。
&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;&#045;
</programlisting>
<!-- 原文でコメントアウトしてあるので訳出しません。 -->
<!--
GNU/Linux was chosen as a development platform for the 7th
incarnation in 1999.
-->

<!--
Early  1999 Mosix M06 Beta was released for Linux 2.2.1 

At the end of 2001 and early 2002 openMosix, the open version of Mosix was 
born (more in the next paragraph).  
-->
1999 年はじめに Mosix M06 Beta が Linux 2.2.1 向けにリリースされました。

2001 年終わりから 2002 年の初めに openMosix が Mosix のフリーバージョンと
して生まれました(詳細は次の節で)。
</PARA>
</SECT2>
<SECT2><TITLE>openMosix</TITLE>
<!-- 原文でコメントアウトしてあるので訳出しません。 -->
<!-- Contributed by Matt -->


<PARA>
<!--
openMosix is in addition to whatever you find at mosix.org and in full 
appreciation and respect for Prof. Barak's leadership in the
outstanding Mosix project.
-->
openMosix は mosix.org にあるものすべてに対する補強です。素晴らしい Mosix 
プロジェクトにおける Barak 教授のリーダーシップに深く感謝するとともに敬意
を払います。
</PARA>

<PARA>
<!--
Moshe Bar has been involved for a number of years with the Mosix
project (www.mosix.com) and was co-project manager of the Mosix
project and general manager of the commercial Mosix company.
-->
Moshe Bar 氏は何年もの間 Mosix プロジェクト(www.mosix.org)にかかわって
きました。また Mosix プロジェクトの共同プロジェクトマネージャであり、
商用 Mosix を扱う企業のゼネラルマネージャーでもありました。
</PARA>

<PARA>
<!--
After a difference of opinions on the commercial future of Mosix, he
has started a new clustering company - Qlusters, Inc. - and
Prof. Barak has decided not to participate for the moment in this
venture (although he did seriously consider joining) and held long
running negotiations with investors.
-->
Mosix の商用利用についての見解の相違から、Moshe Bar 氏は新しいクラスタの
企業 Qlusters, Inc. を立ち上げました。そして Barak 教授はこのベンチャー
企業にさしあたりは加わらないことに決め(しかし参加する
ことを真剣に検討しました)、投資家と長期に渡る交渉を持ちました。

<!--
It appears that Mosix is not any longer supported openly as a GPL
project.  Because there is a significant user base out there (about
1000 installations world-wide), Moshe Bar has decided to continue the
development and support of the Mosix project under a new name:
openMosix and under the full GPL2 license. Whatever code in openMosix
comes from the old Mosix project is Copyright 2002 by Amnon Bark. All
the new code is Copyright 2002 by Moshe Bar.
-->
もはや Mosix は GPL プロジェクトとしてオープンにサポートされないことは
あきらかです。かなりのユーザが Mosix から去ったので(全世界のインストール
ベースでおよそ 1000)、Moshe Bar 氏は Mosix プロジェクトの開発とサポート
を新しい名称で継続することに決定しました。
openMosix は GPL2 ライセンスに準拠しています。以前の Mosix プロジェクト
由来のすべてのコードには Copyright 2002 by Amnon Barak が、新しいコードすべて
には Copyright 2002 by Moshe Bar がついています。
</PARA>


<PARA>
<!--
There could (and will) be significant changes in the architecture of
the future openMosix versions.  New concepts about auto-configuration,
node-discovery and new user-land tools are being discussed in the
openMosix mailing lists. Most of these new functionalities are already
implemented while some of them, such as DSM (Distributed Shared
Memory) are still being worked on at the moment I write this (march
2003).
-->
openMosix の将来のバージョンでは、アーキテクチャが大幅に変更されるでしょう。
openMosix のメーリングリストにおいて、自動設定、ノード探索、ユーザ空間の新たな
ツールのコンセプトについて議論されています。新しい機能の大半はすでに実装
されていますが、DSM(Distributed Shared Memory。分散共有メモリ)他、まだこの
ドキュメントを書いている時点(2003 年 3 月)では開発中のものもあります。
</PARA>

<PARA>
<!--
To approach standardization and future compatibility the
proc-interface has changed from /proc/mosix to /proc/hpc and the
/etc/mosix.map was changed to /etc/hpc.map. More recently the standard
for the config file has been set to be located in /etc/openmosix.map
(this is in fact the first config file the /etc/init.d/openmosix
script will look for).  Adapted command-line user-space tools for
openMosix are already available on the web-page of the project.
-->
標準化と今後の互換性に取り組むために、proc インタフェースが /proc/mosix から
/proc/hpc へと変更になりました。/etc/mosix.map も /etc/hpc.map に変更され
ました。最近になって設定ファイルの統一のため、/etc/openmosix.map が置かれ
ました(最初の設定ファイルである /etc/init.d/openmosix スクリプトがこの
ファイルの存在を仮定しているというのが真相です)。openMosix 用に変更された
コマンドラインベースのユーザ空間ツールは、すでにプロジェクトのWeb サイトで
利用可能です。
</PARA>

<PARA>
<!--
The openmosix.map config file can be replaced with a
node-auto-discovery system which is called omdiscd (openMosix auto
DISCovery Daemon) about which we will discuss later.
-->
openmosix.map 設定ファイルは、omdiscd(openMosix auto DISCovery Daemon)
というノード自動探索システムで置き換え可能です。これについては後で論じ
ます。
</PARA>

<PARA>
<!--
openMosix is supported by various competent people (see
openmosix.sourceforge.net) working together around the world.  The
main goal of the project is to create a standardized
clustering-environment for all kinds of HPC-applications.
-->
openMosix は世界各地で共同作業している有能な人々によってサポートされて
います(openmosix.sourceforge.net を見てください)。プロジェクトの主目的は、
HPC アプリケーションすべてに役立つ、標準化されたクラスタ環境です。
</PARA>

<PARA>
<!--
openMosix has also a project web-page at <ulink
url="http://openMosix.sourceforge.net"><citetitle>http://openMosix.sourceforge.net</citetitle></ulink>
with a CVS tree and mailing-lists for developers as well as users.
-->
openMosix にはプロジェクトの Web サイト <ulink
url="http://openMosix.sourceforge.net"><citetitle>http://openMosix.sourceforge.net</citetitle></ulink>
もあります。開発者向けに CVS ツリーとメーリングリストとともにユーザ向けの
メーリングリストもあります。
</PARA>

</SECT2>


<!-- <SECT2><TITLE>Current state</TITLE> -->
<SECT2><TITLE>現状</TITLE>
<PARA>
  <!--
	Like most active Open Source programs, openMosix's rate of change
  tends to outstrip the followers' ability to keep the documentation
  up to date.
	-->
	アクティブなオープンソースプログラムの大半と同様に、openMosix の変更
	度合いは、ドキュメントを維持する人々の能力を超えてしまっています。
</para>
<para>
  <!--
	As I write this part in February 2003 openMosix 2.4.20 is available
  and openMosix Userland Tools v0.2.4 are available, including the new
autodiscovery tools.
	-->
	この部分を書いている 2003 年の 2 月では、openMosix 2.4.20 が利用でき、
	openMosix のユーザ空間ツールは v0.2.4 が利用可能です。これには自動探索
	ツールが入っています。
</para>
<!--
<para>For a more recent state of development please take a look at the <ulink 
url="http://openmosix.sf.net/"><citetitle>openMosix website</citetitle></ulink>
-->
<para>もっと最近の開発状況は <ulink 
url="http://openmosix.sf.net/"><citetitle>openMosix website</citetitle></ulink>
を見てください。
</para>

</sect2>
<!-- <sect2><title>Which applications work</title> -->
<sect2><title>動くアプリケーションは</title>
<!--
<para>It is almost impossible to give a list off all the applications that 
work with openMosix.  The community however tries to keep track of the 
applications that 
<ulink url="http://howto.ipng.be/openMosixWiki/index.php/work%20smoothly">
<citetitle>
migrate 
</citetitle></ulink>

and the ones who 
<ulink url="http://howto.ipng.be/openMosixWiki/index.php/don%27t"><citetitle>don't</citetitle></ulink>.
-->
<para>openMosix で動作するアプリケーションをすべてリストにするのは不可能
です。しかしコミュニティは <ulink url="http://howto.ipng.be/openMosixWiki/index.php/work%20smoothly">
<citetitle>migrate</citetitle></ulink>
でマイグレートするアプリケーションをきちんと整理しようとしています。
 </para>
</SECT2>


</SECT1>

<!-- <SECT1><TITLE>openMosix in action: An example</TITLE> -->
<SECT1><TITLE>稼動中の openMosix の例</TITLE>
<PARA>

 <!--
 openMosix clusters can take various forms. To demonstrate this, let's
 assume you are a student and share a dorm room with a rich computer
 science guy, with whom you have linked computers to form an openMosix
 cluster.  Let's also assume you are currently converting music files
 from your CDs to Ogg Vorbis for your private use, which is legal in
 your country. Your roommate is working on a project in C++ that he
 says will bring World Peace. However, at just this moment he is in
 the bathroom doing unspeakable things, and his computer is idle.
 -->
 openMosix クラスタの構成はいろいろです。これを明らかにするために、ある
 仮定をします。あなたが学生で、寄宿舎で金持ちのコンピュータサイエンス
 おたくと同居しており、彼とは openMosix クラスタを構成するコンピュータと
 してリンクしているとします。そしてあなたは今、国が認めている私的利用目的
 で CD から音楽ファイルを Ogg Vorbis に変換しているとします。ルームメート
 は C++ を使ったプロジェクトで活動しており、このプロジェクトは世界に平和
 をもたらすと言っているとします。しかしこの瞬間彼はバスルームで口に出せ
 ないような行為をしているとすると、彼のコンピュータは暇なのです。

</PARA>

<PARA>

  <!--
	So when you start a program like bladeenc  to convert Bach's 
  .... from .wav to .ogg format, the openMosix routines on your
  machine compare the load on both nodes and decide that things will
  go faster if that process is sent from your Pentium-233 to his
  Athlon XP. This happens automatically: you just type or click your
  commands as you would if you were on a standalone machine. All you
  notice is that when you start two more coding runs, things go a lot
  faster, and the response time doesn't go down.
	-->
	そこであなたは bladeenc のようなプログラムを動かして、Bach の XXX を
	.wav フォーマットから .ogg に変換すると、あなたのコンピュータ上の 
	openMosix ルーチンは両ノードの負荷を比較します。そしてあなたの Pentium-233 
	から彼の Athlon XP にプロセスを送れば、より早く処理が終わると判断します。
	これは自動的に行われます。スタンドアローンのマシンでしているのと同様に、
	ただあなたはコマンドを入力するか、クリックするかのどちらかだけです。
	2 つ以上エンコードをすると、ことが運ぶのが大変早くなり、反応時間も遅く
	ならないことに気づくだけです。

</PARA>

<PARA>

  <!--
	Now while you're still typing ...., your roommate comes back,
  mumbling something about red chili peppers in cafeteria food. He
  resumes his tests, using a program called 'pmake', a version of
  'make' optimized for parallel execution. Whatever he's doing, it
  uses up so much CPU time that openMosix even starts to send
  subprocesses to your machine to balance the load.
	-->
  あなたが、まだ XXXX と入力している間にルームメートが戻ってきました。
	カフェテリアの食事に出るレッドチリペッパーについて何かぶつぶつ言い
	ながら。彼は「pmake」と呼ばれる「make」に並列実行の最適化をほどこした
	プログラムを使ってテストを再開します。彼が何をしても CPU 時間を食い
	潰すので、openMosix はあなたのマシンにサブプロセスを送り込み、負荷の
	バランスを取ります。
</PARA><PARA>

  <!--
	This setup is called *single-pool*: all computers are used as a
  single cluster. The advantage/disadvantage of this is that your
  computer is part of the pool: your stuff will run on other
  computers, but their stuff will run on yours too.
	-->
	この設定は、「single-pool」と呼ばれています。すべてのコンピュータ
	は 1 つのクラスタとして利用されます。あなたのコンピュータが共同体(pool)
	の一部であるということが、長所にもなり短所にもなります。あなたの処理は
	他のコンピュータで実行され、他の処理があなたのコンピュータで動きます。

</PARA>
</SECT1>
<!--
<SECT1><TITLE>Components</TITLE>
<SECT2><TITLE>Process migration</TITLE>
-->
<SECT1><TITLE>構成</TITLE>
<SECT2><TITLE>プロセス・マイグレーション</TITLE>
<PARA>

<!--
With openMosix you can start a process on one machine and find out it
actually runs on another machine in the cluster.  Each process has its
own Unique Home Node (UHN) where it gets created.
-->
openMosix を利用してあるマシンでプロセスを動かすと、実際はクラスタに
属する別のマシンで動いているのがわかります。各プロセスには、そのプロセス
がどこで作成されたのかを示す Unique Home Node (UHN)が付けられます。
</PARA>

<PARA>

<!--
Migration means that a process is splitted in 2 parts, a user part and
a system part.  The user part will be moved to a remote node while the
system part will stay on the UHN.  This system-part is sometimes
called the deputy process: this process takes care of resolving most
of the system calls.
-->
マイグレーションすると、プロセスはユーザ部分とシステム部分の 2 つに分割
されます。システム部分が UHN にあり続けるとユーザ部分が移動します。この
システム部分は代理プロセスと言われる場合もあります。このプロセスが大半の
システムコールの面倒を見て、実行を割り振ります。
</para><para>
<!--
openMosix takes care of the communication between these 2 processes.
-->
openMosix はこれら 2 つのプロセス間のやり取りを仕切ります。
</PARA> 
</SECT2> 

<SECT2><TITLE>The openMosix File System (oMFS)</TITLE> 
<PARA>
<!--
oMFS is a feature of openMosix which allows you to access remote
filesystems in a cluster as if they were locally mounted.  The
filesystems of your other nodes can be mounted on /mfs and you will,
for instance, find the files in /home on node 3 on each machine in
/mfs/3/home.
-->
oMFS は openMosix の機能の 1 つで、ローカルにマウントしているかのように
クラスタ内のリモートファイルシステムにアクセスできるようになります。
他のノードのファイルシステムは、/mfs でマウントできます。たとえば
ノード 3 の /home にあるファイルは、各マシンから /mfs/3/home で見られます。
</PARA>
</SECT2>
<SECT2><TITLE>Direct File System Access (DFSA) </TITLE>
<PARA>
<!--
Both Mosix and openMosix provide a cluster-wide file-system (MFS) with
the DFSA-option (Direct File-System Access). It provides access to all
local and remote file-systems of the nodes in a Mosix or openMosix
cluster.
-->
Mosix も openMosix もクラスタにまたがったファイルシステム(MFS)を
DFSA(Direct File-System Access)オプションで用意しています。この機能を
使えば、Mosix と openMosix に属するノードが持つローカル、リモート両
ファイルシステムにアクセスできます。
</PARA>
</SECT2>

</SECT1>
<!-- 原文でコメントアウトしてあるので訳出しません。 -->
<!--
<SECT1><TITLE>Work in Progress</TITLE>

<SECT2><TITLE>Network RAM</TITLE>
<PARA>

</PARA>
</SECT2>

<SECT2><TITLE>Migratable sockets</TITLE>
<PARA>

</PARA>
</SECT2>
<SECT2><TITLE>High availability</TITLE>
<PARA>

</PARA>
</SECT2>

<sect2><title>Other Features</title>
<para>Other features such as ClusterMask and Autodetection have been implemented and will be discussed somewhere 
else in this document.
</para>
</sect2>
</SECT1>
-->
<!-- <SECT1><title>openMosix Test Drive -->
<SECT1><title>openMosix を試しに動かす
</title>
<para>
<!--
In support of openMosix, Major Chai Mee Joon is giving OM users a free
trial account to his online openMosix cluster service, which users can
use to test and experiment openMosix with.
-->
openMosix のサポートの中には、専攻学生である Chai Mee Joon 氏が OM ユーザ
に対して、フリーのトライアル・アカウントをネットワーク上にある彼の openMosix 
クラスタで提供しているというものがあります。ここでユーザは openMosix 
をテストしたり、実験したりできます。
</para>

<para>
<!--
The availability of this online openMosix cluster service will help
both new users overcome the initial openMosix configuration issues,
and also provides higher computing power to openMosix users who are
developing or porting their applications.
-->
このネットワーク上の openMosix が利用できることで、初心者ユーザに対しては 
openMosix の設定において出食わす問題を切り抜けられ、アプリケーション
の開発や移植をしている openMosix のユーザに対しては、高い計算能力を提供します。
</para>

<para>
<!-- To get your userid and password to the cluster: -->
このクラスタのユーザ ID とパスワードを得るには、
<ulink 
url="http://www.mosixcluster.com/trial.php">
<citetitle>http://www.mosixcluster.com/trial.php</citetitle>
</ulink>
を見てください。
</para>
</sect1>

