リオワークス 2CPU構成でのCPU稼働率について

10705.
リオワークス 2CPU構成について
2006年01月22日(日) 00時01分
nouble1
はじめましてNouble1と申します
同様の書き込みをWINフォーラムにしたところ場違いのようでRESが付かなかったので
スレッドを立てさせて頂きました
申し訳ないです

内容なのですが

最近リオワークス社製のS-VIDA L2Rに
P3 1GHz(SL4C8とSL52R)を2つ付けたのですが
アプリケーションを立ち上げた瞬間などのホンの一瞬だけは100%のCPU稼働率を示すのですが
すぐに50%まで下がり落ち着いてしまいます

一方のCPUの稼働率が上がると
帳尻を合わすかのように
他方の稼働率が下がってしまいます

2CPUの意味がないです(TT)

以前はP3 800EBを一つだけ挿して使っていたのですが

設定はプラグアンドプレイが働いた以外何も変えていません

環境は
自作マシンで電源は2CPUを前提にSHOPの方に設定してもらったものを使っています
OSはWINXPプロSP2を使っています

どうすれば安定的にフルパワーを発揮させ続けられるのでしょうか?
何か設定を変えなければいけないのでしょうか?
ご教授御願い致します。
 
 
10707.
Re:リオワークス 2CPU構成について
2006年01月22日(日) 10時18分
OHA
「CPU稼働率」というのは、タスクマネージャのパフォーマンスタブの「CPU使用率」のことでしょうか?
その横の「CPU使用率の履歴」が二つ表示されていれば、2CPUで動作しています。
これで、もうお気づきになられたと思いますが、履歴が2個に対して使用率が1個ということは、
使用率は合計表示されていることになります。
ですから片方のCPUしか使用されていない場合のCPU使用率は、最大50%です。

デュアルCPUにしたらどんなアプリも2個のCPUを使用して動作するわけではありません。
デュアルCPU対応アプリや、2本以上のアプリを実行した場合に、初めて2個のCPUが稼動します。

デュアルCPUの場合は「CPU使用率」じゃなくて、「CPU使用率の履歴」を見て、どちらのCPUが
稼動しているか確認してください。
片方のグラフがMAXになっていてCPU使用率が50%の場合は、そのCPUは100%で稼動しています。

CPU使用率を100%で稼動させたい場合は、デュアルCPUに対応したアプリを使用してください。
10708.
Re:リオワークス 2CPU構成について
2006年01月22日(日) 14時20分
nouble1
早速のご教授に感謝いたします。

>タスクマネージャのパフォーマンスタブの「CPU使用率」のことでしょうか?
仰る通りです
書き落としてました
済みません

>その横の「CPU使用率の履歴」が二つ表示されていれば、2CPUで動作しています。
はい、二つ表示されています。


>使用率は合計表示されていることになります。
なるほど

>デュアルCPUにしたらどんなアプリも2個のCPUを使用して動作するわけではありません。
>デュアルCPU対応アプリや、2本以上のアプリを実行した場合に、初めて2個のCPUが稼動します。
XPがマネージメントして割り振ってくれると思っていたのですが甘いのですね(^^;)

>デュアルCPUの場合は「CPU使用率」じゃなくて、「CPU使用率の履歴」を見て、どちらのCPUが
>稼動しているか確認してください。
>片方のグラフがMAXになっていてCPU使用率が50%の場合は、そのCPUは100%で稼動しています。
>
>CPU使用率を100%で稼動させたい場合は、デュアルCPUに対応したアプリを使用してください。

そうですか
判りました
少しMSを過信して悲しい気持ちですが
設定には問題無さそうなので安心できました
有難うございました

ところで
CPUをマネージメントしてくれるMSのOSはあるのですか?
またそれはこの私の構成で稼動させても
ドライバーなどの点も合わせて問題何のでしょうか?

更なるご教授御願い致します。
10710.
Re:リオワークス 2CPU構成について
2006年01月22日(日) 20時01分
史嶋 桂◆uWB3ISg=
RIOWORKSのPDVIAを使っている史嶋 桂と言います。もっともPDVIAを使っているのは、双子の息子達ですが・・・

>XPがマネージメントして割り振ってくれると思っていたのですが甘いのですね(^^;)

WindowsXP PROは元々CPUを二つ使えるOSです。もしWindowsXP HEを使っているのなら、CPUは一つしか使えません。HT(ハイパースレッディング)は使えます。

DUAL CPU対応のOSでも、その上で動くアプリがCPUを一つしか使えない時は、当然CPUを一つしか使えません。またCPUを一つしか使えないアプリやドライバはデフォルトでは、CPU00(一つ目のCPU)だけを集中して使います。

>ところで
>CPUをマネージメントしてくれるMSのOSはあるのですか?

アプリごとにCPU00とCPU01を自動的に振り分けてくれるOSはありません。タスクマネージャのプロセスで、イメージ名を右クリックしてどちらの CPUを使わせるかを指定する事は出来ますが、その事で効率が上がるとは限りません。そのアプリがCPUパワーをどのくらい使うかは通常公開されていませ んので、シングルCPUを使い切ってしまうアプリの場合はCPU01に振る事でCPU00の負荷を下げる事ができますが、CPU00に空きがある状態でこ れをやっても意味はないからです。

>またそれはこの私の構成で稼動させても
>ドライバーなどの点も合わせて問題何のでしょうか?

何を言っているのか良く分かりませんが、上記の様に、マニュアルで使うCPUを使い分ける事は出来ます。もしスタンドアローンのワークステーションとして 稼働させるなどの目的なら、バックグラウンドで動いても差し支えのないプリンタドライバなどをCPU01に振っておけば、フロントエンドでアプリは多少軽 くなります。

>更なるご教授御願い致します。

でも、そんな事をするより、Adobeの業務用ソフトの様な、MULTI CPUを常時使える様に設計されたアプリを使う方がDUAL CPUの有効活用 につながると思います。反対にMULTI CPUを使えないアプリばかりを使うのでしたら、DUAL CPUのマシンを使う意味はあまりない事になりま す。
10711.
Re:リオワークス 2CPU構成について
2006年01月22日(日) 20時58分
nouble1
史嶋 桂様
ご発言感謝いたします
>アプリごとにCPU00とCPU01を自動的に振り分けてくれるOSはありません。

これが現実なのですね。
科学の世界では超並列コンピューティングが
当たり前のように持て囃されて久しいというのに…

個人レベルではタスク割り振りのマネージメントも覚束無いとは
悲しいです(滝涙)

ところでデュアルマシンといえば
インテルのペンティアムDUOが
最近ではホットなのでは?
と思うのですが
この標準でデュアルCPUの石も
現行ではあまり使えない代物になるという事ですね

兎に角いえる事は

{MSの馬鹿~ん」(T T;

ていう悲痛な叫びのみ

とはいえご指南頂けたお陰で
現実がどんなに厳しいか理解できました。
有難うございました。

でも、行く末ではタスク割り振り機能を強化したWINの登場も期待できるのでしょうか?
WIN64?とかでは既にこのタスク割り振りが実装されてたりするのでしょうか?…
10712.
Re2:リオワークス 2CPU構成について
2006年01月22日(日) 21時31分
はらっぱ

nouble1 さん、こんばんは。はらっぱ です。

横から失礼します。

>これが現実なのですね。
>科学の世界では超並列コンピューティングが
>当たり前のように持て囃されて久しいというのに…

まあ、そう考えてしまう気持ちも分からないではないですが、
超並列コンピューティング自体は、ハードウェアも独自設計
だし、ソフトもそれ専用に書いてあるんですよネ。
だから、たかだか数万円で手に入るOSに、そこまで求める
のは、ちょっと酷な気がします。

>個人レベルではタスク割り振りのマネージメントも覚束無いとは
>悲しいです(滝涙)

このあたりは、個人の考え方の相違のような気もします。
わたしには、個人レベルでデュアルCPUを必要とするような
作業は まだ非常に少ないと思えます。
また、動画処理のようなCPUパワーを要するソフトの中には
デュアルCPU対応のソフトもあるようです。

>この標準でデュアルCPUの石も
>現行ではあまり使えない代物になるという事ですね

次期64ビットOSでは対応するようですよ。

  では。
           はらっぱ in 長崎市
10713.
Re:リオワークス 2CPU構成について
2006年01月22日(日) 21時32分
OHA
>でも、行く末ではタスク割り振り機能を強化したWINの登場も期待できるのでしょうか?

現状でも自動割り振りしていますが、明示的にCPUを指定することは出来ません。
史嶋さんが書かれているようにタスクマネージャで変更は可能です。

マルチCPU環境で各プロセスが使用するCPUを自動的に指定するソフト
http://news.goo.ne.jp/news/forest/it/20051117/wf2005111702-forest.html
を使用すれば、明示的にCPU指定が可能です。
10714.
2006年01月22日(日) 22時46分
nouble1
史嶋さんぱらっぱさんOHAさん
色々有難うございます。
勇気付けられました
もうちょっとだけ(^^;)頑張ってみます
10734.
Re:リオワークス 2CPU構成について
2006年01月26日(木) 16時58分
史嶋 桂◆uWB3ISg=
 nouble1さん、

>これが現実なのですね。
>科学の世界では超並列コンピューティングが
>当たり前のように持て囃されて久しいというのに…

何をもって科学の世界うんぬんされるのかわかりませんが、たとえば遺伝子DNAの塩基配列を解析するソフトの中には、ちゃんとCPUを二個つかえるものが あります。先日こちらのフリーマーケットで引き取り手を捜したTYAN TIGER230はRIOWORKSのPDVIA/SDVIAと同じ、 VIA CHIPのSOCKET370 DUALマザーですが、つくばの研究所で3年間、毎日のようにDUAL CPUを常時80%以上使うような遺伝子 解析の仕事に使ってきました。その結果は毎年の学会で発表されています。たかが20万円くらいで組まれた自作パソコンでも、十分科学の進歩に貢献している と僕はおもいます。

>個人レベルではタスク割り振りのマネージメントも覚束無いとは
>悲しいです(滝涙)

厳しいことを言うと、すでにDUAL CPU以上のCPUを有効活用できるアプリがAdobeのPhotoshopやPremiereなど複数あるのに、 それを使わずに文句を言っても仕方ないとおもいます。現状のOSでは、Windows2000PRO、WindowsXP PRO、MAC OS、 LINUXもマルチCPUをちゃんと使えるOSです。他の方も書かれているように、高々数万円の汎用OSでこういうことが出来るのですから、世の中まんざ らすてたもんでもないとおもいます。

僕は初代POWER PCのMACから会社都合でWindowsNT 3.51のDECマシンに乗り換えた口ですが、当時からDUAL CPUを使う目的 がPhotoshopを軽く使うことでした。ですからDUAL PENTIUM PROでPhotoshopを軽々と振り回せるWINTEL機は結構気に 入って使ってました。自作機だけでも、TYAN TOMCAT DUAL 、TIGER 133/230、SOYO D61BA2、ABIT VP6、 Supermicro P6DGE/P6DBU/P4DCE+ と自分用で8台のDUAL CPU機を使ってきています。これはSINGLE CPUでは つらい、Phothoshopの画像処理などをストレス無く行うために必要だったからです。

つまり僕は1995年当時からDUAL CPUのWINTEL機を使い続けています。このごろはコスト制約でP4のHT機も2台使ってますが、本当のDUAL CPUに比べると、安定性や処理能力がやはり一段落ちます。

>ところでデュアルマシンといえば
>インテルのペンティアムDUOが
>最近ではホットなのでは?
>と思うのですが
>この標準でデュアルCPUの石も
>現行ではあまり使えない代物になるという事ですね

最新のMACは、この一連のCORE DUAL CPUを積んでいますが、それ専用にAPPLEが開発したアプリしか2つのコアをちゃんと使えないのが現 実のようです。もともと今年6月に市場投入の予定が半年近く早まったので、アプリベンダがついていけないのが現実でしょう。

でも、WINTELの世界では、上記のWindowsNT系OSなら、そのままDUAL CPUとして新しいCPUを既存のアプリで使えますから、こちらには何の問題も感じません。

>兎に角いえる事は
>
>{MSの馬鹿~ん」(T T;
>
>ていう悲痛な叫びのみ

なんども言いますけど、それは勘違いだとおもいます。MSはちゃんとDUAL CPUを使えるOSを供給してくれてますよ。むしろ問題なのは、そういうマ シンを持っていながら、DUAL CPUに対応したアプリをつかわないユーザの方だとおもいます。たとえば、MS OFFICEのアプリでもパワーポイン ト2000などは、ちゃんとDUAL CPU使えるのご存知ですか?

>でも、行く末ではタスク割り振り機能を強化したWINの登場も期待できるのでしょうか?

MULTI CPUを使える市販のクライアントOSにとって、一番大切なのは、大しても重くないし時間もかからない個々のタスクを振り分けることより、 DUAL CPUでないと重たいアプリを、どのベンダのパソコンで使ってもちゃんと設計された性能で使えるようにすることだとおもいます。単にタスクの分 散だけであれば、シングルCPUをフェイクデュアルで使うHTで十分だったはずです。

>WIN64?とかでは既にこのタスク割り振りが実装されてたりするのでしょうか?…

さあ?シングルCPUで十分対応できるような、こまごまとしたタスク振り分けが本当に次期OSに必要となったらやるでしょうね。でもCORE DUOなど の登場で、DUAL CPU対応の重たいアプリをノートパソコンでもストレスなく使えるようになってきたのは歓迎すべきことだとおもいます。
10735.
Re:リオワークス 2CPU構成について
2006年01月27日(金) 23時06分
nouble1
Res感謝いたします

話が盛り上がってると解釈していいのでしょうか
論争だとResが書き辛いですね(^^;

ところで
僕の思う最良の環境は
「利用者に意識させなくてもちゃんとなってる」
という環境だと
個人的には思うのですね

この視点に立つと
重たいソフトだろうが軽いソフトだろうが
ちゃんと割り振って
最短時間で処理が終わるよう最適化すべきでは?

というところに
僕的には帰結するのです

確かに汎用コンピューターなどのOSに比べれば
数万円は安いですが

庶民感覚で
しかも趣味などに費やすものと考えれば
まだまだ高い買い物だと思うので
「ちゃんと」して欲しかったな、

となるのです。

御理解頂けると嬉しいです
10736.
Re:リオワークス 2CPU構成について
2006年01月28日(土) 00時29分
かねやん
nouble1さん、こんにちは。

たとえば、ファイルからデータを読み取って、その値が1であれば処理Aをおこなう、2であれば処理Bをおこなうプログラムがあったとします。
これはまず、ファイルからデータを読み取ってから、次の処理に進む必要がありますが、これをマルチCPUで各処理を平行しておこなって高速化できないのか?というのがnouble1さんのおっしゃりたいことだと理解しました。
しかしそれは不可能です。プログラムコードにOSが認識できるようなは処理の区切りがありませんから、ひとつのCPUで頭から順番に実行する必要があります。
マルチCPU対応プログラムは、これらの処理をプロセス毎に分けて、各プロセスの順番などがおかしくならないようにマルチCPUで実行できるようにプログラミングする必要があるのです。
10739.
Re:リオワークス 2CPU構成について
2006年01月29日(日) 17時13分
nouble1
Res感謝します 

仰る通り 
そのレベルの処理ではなかなか難しいと思います。 

挙げられたことは 
フォン・ノイマンの提唱した理論だと思うのですが、 

これは、
 無駄な処理を行えるほどの 
 コンピュータ計算処理能力資源的な余裕、 

 「一見無駄とも思えることを 
 先に行っておくことにより 
 処理の高速化が図れる」 
 とする 
 コンピューター処理工学理論、 

この双方が当時には無かったことにより 
帰結したことだと思います。 

ですが現在ではフォン・ノイマンの考え方は 
もうすでに古く 
「ほぼ如何なる処理においてもカスケード化は可能である」 
となっていると思います。 
(※カスケード≒タスク として使っています 実際は違うけど…)

更に以下の2つの観点から適切ではない解釈では? 
と思われます 

まずは、 
 CPUの世界ではインテル以下各社が 
 すでに20年以上も前から 
 処理のパイプライン化と共に 
 "マルチパイプライン化"をはかって 
 一部分散処理化による 
 高速化を謳っているように、 

 挙げられたような処理においても 
 「起こり得る可能性の双方を先に計算しておき 
 結果を先読みしておく事にする」 
 と考えれば 
 処理をカスケード化することが可能である。 

2つめは 
 実際のアプリケーションで 
 例にあげられた程度の処理だけを行うものはあり得ず、 
 複雑化していて、 
 CPUがすでに行っているように 
 更なるカスケード化が可能である。 

処理のカスケード化自体は 
CPUの待機時間有効活用化への対処なので、 
シングルCPU配下・マルチCPU配下を問わずに 
行うべきだし、 
すでに実現していることだとは思うのですが、 
「カスケード化が可能ならば 
イコール分散処理化が可能である」 
ということに帰結すると思うのです。 

ですので、 
分散処理の際に容易に行いうるCPU割り振りを考えないのか? 
と展開する次第なのです。 

「処理コードからカスケードポイントを見いだすのは難しい」 
とするのは 、

例えば先にも挙げた通り 
「IF文の結果の双方を先に計算しておく」 
とするだけでカスケード化が簡単に実現するように、 
逃げ口上でしかなく、
 
既にカスケード化を実現している某OSメーカの 
「だまし」でしかないと思うのですが、 
如何でしょうか? 

私は「OPERA」などのソフトを使っている時に 
特に強く「"タスク"割り振りの自動マネージメント」
への欲求を感じます 。

私の述べていることに対し 
その妥当性はさておき 
ご理解頂けたなら幸いです。
10740.
Re:リオワークス 2CPU構成について
2006年01月29日(日) 17時53分
かねやん
nouble1さん、こんにちは。

>挙げられたことは
>フォン・ノイマンの提唱した理論だと思うのですが、
>
>ですが現在ではフォン・ノイマンの考え方は
>もうすでに古く

ノイマン型が古いとおっしゃってますが、ほとんどのコンピュータ(並列型を含め)はノイマン型ですよ。
その仕組のなかで、高速化などのためにハード、ソフトの並列演算対応をおこなっているのです。


> CPUの世界ではインテル以下各社が
> すでに20年以上も前から
> 処理のパイプライン化と共に

電子技術の制約から回路の動作クロック周波数に限界があり、たとえば3GHzのクロックで動作させることが出来ないので、遅いクロックでパイプライン動作をおこない、簡単に言えば3GHz動作にしているだけのことです。


> 挙げられたような処理においても
> 「起こり得る可能性の双方を先に計算しておき
> 結果を先読みしておく事にする」
> と考えれば
> 処理をカスケード化することが可能である。

最初の考え方を拡張して、パイプラインの個数や長さを大きくし、さらにマイクロプログラム化、分岐予測、オウトオブオーダー処理などを実現していけば可能ですね。


> 実際のアプリケーションで
> 例にあげられた程度の処理だけを行うものはあり得ず、
> 複雑化していて、
> CPUがすでに行っているように
> 更なるカスケード化が可能である。

言っていることが理解できません。例にあげたような簡単なプログラムで不可能なことが、もっと複雑なプログラムで出来るわけがないでしょ。


>処理のカスケード化自体は
>CPUの待機時間有効活用化への対処なので、
>シングルCPU配下・マルチCPU配下を問わずに
>行うべきだし、
>すでに実現していることだとは思うのですが、

繰り返しになりますがハード、ソフトが対応していないと無理です。実現できているいるものはハード、OS、プログラム間の通信でお互いがうまくやりとりできるようになっているからです。

以下のコメントも同様なので、省略。
10741.
Re:リオワークス 2CPU構成について
2006年01月30日(月) 00時27分
nouble1
>>挙げられたことは
>>フォン・ノイマンの提唱した理論だと思うのですが、
>>
>>ですが現在ではフォン・ノイマンの考え方は
>>もうすでに古く
>
>ノイマン型が古いとおっしゃってますが、…

そうは書いてないと思いますが。

>たとえば3GHzのクロックで動作させることが出来ないので、
>遅いクロックでパイプライン動作をおこない、
>簡単に言えば3GHz動作にしているだけのことです。

俄には信じられません
じゃあ3Gと書くと誇大広告になると思うのですが
更にP3に限って言えばCPUは記載通りのクロック周波数が与えられてませんか?


>最初の考え方を拡張して、
>パイプラインの個数や長さを大きくし、…

はいそうですね、並列化は可能ですよね


>言っていることが理解できません。
>例にあげたような簡単なプログラムで
>不可能なことが、
>もっと複雑なプログラムで出来るわけがないでしょ。

いえ、例に挙げられたものでも
カスケード化が可能であると
書かせて頂いたと思うのですが、
ご理解頂けないようで残念です。

まずご説明しなければいけないこととして
「ボトルネックはカスケード化によって解消される」
ということだと思うのです

例に挙げられた内容に沿いますと

「条件判断の結果の部分は
条件判断の評価や
ファイルの読み出しが済まないと
計算してはならない」

「ファイル読み出しがボトルネックとなるので
次の処理は実行できない」
となると思うのですが、
これは大嘘ですよ(^^;

もし仮に上記の事柄が心理だと仮定して
ではあなたに
チェスのプログラムを書く仕事が
舞い込んだとします

仮定に従うとあなたは
相手が打たないと
計算を開始してはならないとなりますし、
開始しないようなソフトを
書かないといけないことになりますよね

これでは打ち手の先読みをソフトに盛り込めませんし
最良手など計算しようもありませんよね

つまり条件判断の評価や
ファイルの読み出しを待たなくても
結果の方を本当は先に計算していいのです

先に双方の結果の計算をしておいて
ファイルや、条件評価や、相手の指手の内容を見て
片方の結果を捨てればいいだけの話なのですから

人間社会では普通に無意識にしていることだと思います

この内容を説明するのに
先にも挙げたチェスや将棋等の対局プログラムは
良い例の最たるものといえるのではないでしょうか?

何せ相手の全ての判断を待たずに
先読みして計算なければ
最良手が計算できず
パラドクスに陥り
一手も打てないのですからね(滝汗)

諄いようですが
全ての想定される結果を計算して
その中から一つだけ採用し
他を捨てればいいのです
結果を先に計算しても
何も問題にはなり得ません

カスケード化は大いに可能なのです。

>繰り返しになりますがハード、ソフトが
>対応していないと無理です。
>実現できているいるものは
>ハード、OS、プログラム間の通信で>
>お互いがうまくやりとりできるように
>なっているからです。

果してそうでしょうか?

カスケード化の理論をご存じなのか
疑問を感じる発言です

仰っている趣旨は要は
「ハードとOSとアプリケーションが全て
カスケード化に対応していないと
カスケード化は実現できない」
ということだと理解したのですが
納得がいきませんね

先に述べておきますが
i386の時代から
既にCPUはOSに対し特権的権限を与えています
OSがその気になれば
任意にアプリケーションを止められますし
そのコードの先読みも
できる仕様になっていると思います
OSがアプリケーションコードの
実行順序を変えることなど朝飯前ですよね

残る一つの
アプリケーションですが

確かにアプリケーションが
カスケード化に対応していないと
勝手にアプリが実行している内容を
どうやってカスケードするのか!
となりそうですが、

ご存じのように
プログラムは一本の道のように見えて
その実、前の計算結果に関わらず実行できる部分が
結構かなりあります

この「前の計算結果に関わらず実行できる部分」を
じゃあ前の処理を待たずに行わせてもいいやん!
とし、

処理対象候補を
フォンノイマンの提唱した
「必ず1つでなければならない」
から
「可能な限り複数取り出し
並列に(コンカレントに)実行させよう」
と唱えたのが
カスケード化理論の大ざっぱな概略だと思います

なのでカスケード化を意識して書かれていない
ソフトウエアーにも
膨大なカスケード化ポイントが存在し
容易にカスケード化が可能だと思っています

例を挙げて申しますと
例えば統計的品質管理の手法で良く用いられる
(規格最大値-サンプルの平均値)÷(3×サンプルの標準偏差)
という式があります
これは工程能力を測る式なのですが
それはさておき、

この単純な式でさえ
カスケード化が可能なのです
フォンノイマンの理論によると
各計算手順には必ず実行順序を
確実に明確に設けなければならないと
なっているかと思いますが

これは先にも述べた通り、

 無駄な処理を行えるほどの 
 コンピュータ計算処理能力資源的な余裕、 

 「一見無駄とも思えることを 
 先に行っておくことにより 
 処理の高速化が図れる」 
 とする 
 コンピューター処理工学理論、 

この双方が当時には無かったことにより 
帰結した結果でしかなく、

実際には
この式の分子と分母は
どちらを先に計算してもいいことになります
言い換えると
もし可能ならば並列に同時に手分けをして
分子と分母を計算しても問題はないということです。

実際計算結果に影響は出ませんよね

これが前回に挙げたのとは別の
カスケード化ポイントな訳です

カスケード化ポイントの種類は
例を挙げたらきりがないほど
確認されてていると承知しております

単純な式
例えば
IF A =1 then B =1 ELSE B = 2
等では
カスケード化ポイントは限られてきますが
この式が
IF A = 1 AND C = 1 then B = 1 else B =2
とやや複雑になった途端
カスケード化ポイントが増えていることにお気付きでしょうか?

プログラムが複雑になればなるほど
カスケード化ポイントは増えるのです

決して0ではないのです

この事は
並列処理を意識せず書かれたプログラムコードから
並列処理化対応のコンパイラーが意図も容易く
並列処理コードをはき出すことからみても
明白だと思うのです
(並列化効率は確かに落ちますがね"汗")

以上のことを踏まえて
OSがアプリのコード解析を
そのアプリの実行に先立ち行い
上記に例を挙げたような
カスケード化ポイントを探したとしたら?

そしてついに数万にも及ぶカスケード化ポイントを探し当てたとしたら…

アプリケーションが
必ずカスケード化に対応していないといけない
という説明をどう展開できるのでしょうか?

果して本当にOSは
アプリケーションを
カスケード化できないのでしょうか?
10743.
Re:リオワークス 2CPU構成について
2006年01月30日(月) 09時46分
かねやん
nouble1さん、こんにちは。

>俄には信じられません
>じゃあ3Gと書くと誇大広告になると思うのですが
>更にP3に限って言えばCPUは記載通りのクロック周波数が与えられてませんか?

矛盾したこと書いてませんか。俄かには信じられない、と書きながらP3に限っての話をもちだすのは。
前の説明は実際の動作を説明したのではありません。簡単に言えば、というのはそういう意味です。
CPUはプログラム読み出し、デコード、演算、書き込みなどの一連のステップで1命令サイクルです。実際に何10クロックも要して1命令を処理します(これを遅いクロックと比ゆしました)。
そこで各ステージを複数のパイプラインで処理することにより、演算以外の時間が短縮でき、実クロックに近い処理が可能という意味です。


>いえ、例に挙げられたものでも
>カスケード化が可能であると
>書かせて頂いたと思うのですが、

たしかに不可能とはかかれてませんね。


>カスケード化の理論をご存じなのか
>疑問を感じる発言です

はい知りません。カスケード化の理論とはどのようなものなんですか?


>果して本当にOSは
>アプリケーションを
>カスケード化できないのでしょうか?

カスケード化の意味するところがはっきりしませんが、プログラムを全部まず読み込んで、プログラムを解析し、分岐のすべての組み合わせで問題なく動くマルチCPU可能なコードに変換して、実行なんてことを行うことは不可能ではないかも知れません。
しかしこれはコード改変をするので著作権法に触れる可能性が大ですし、実行までに時間がかかるし、
そんな面倒なことをおこなうより、ソフト会社がソースコードを修正し、マルチCPU対応コンパイラでコンパイルして製品をリリースするほうがよっぽど話が簡単です。
10744.
Re2: リオワークス 2CPU構成について
2006年01月30日(月) 21時03分
H.犀踏
かねやんさん、nouble1さん、こんにちは。

「処理のカスケード化」といわれてイメージするのはかねやんさんのコメントにある「パイプライン化」ですね。これは解説記事でよく階段状の図が描かれていますから。
nouble1さんの言う「カスケード化」に当たるのは「投機的実行」とか「プリフェッチ」とか「分岐予測」あたりでしょうか。

nouble1さんのいうものとは異なりますが、Transmeta社のCMSが比較的近い事をしていますね。

!-- H.犀踏 --
10745.
Re:リオワークス 2CPU構成について
2006年01月30日(月) 22時29分
オデム
nouble1さん、こんにちは。

マルチタスクのプログラムは書きましたが、
カスケードはおろか、他の理論についても
ほとんど何も知らない者です。

カスケードの意味がよく分かってませんが、
「並列」と同義と考えてよろしいでしょうか?

>OSがアプリのコード解析を
>そのアプリの実行に先立ち行い
>上記に例を挙げたような
>カスケード化ポイントを探したとしたら?
>そしてついに数万にも及ぶカスケード化ポイントを探し当てたとしたら…

つまり、OSレベルでこの動作をするということですよね?。
 >並列処理を意識せず書かれたプログラムコードから
 >並列処理化対応のコンパイラーが意図も容易く
 >並列処理コードをはき出す

具体的な流れを書くと、
(1)現状のアプリのマシンコードをOSが読み出す。
    ↓
(2)OSが(プログラムソースではなくて)マシンコード
   を解析してカスケードポイントを見つける。
    ↓
(3)OSが並列処理用のマシンコード(≒各タスク)を出力する。
    ↓
(4)OSが各タスクを複数のCPUに割り当てて処理を実行する。
という流れになると思います。

でも、(1)~(3)の処理にべらぼうに時間がかかると思います。
ここの処理にパワーがかかりすぎて、(4)がいくら並列処理でも、
全体としては遅くなりすぎて意味をなさないように思います。

  しかも今は、2CPUを前提に話をしているのですよねぇ。
  10CPUとか100CPUであれば、(4)でそれなりの
  速度が期待できそうですが。

ということで、理論では可能であるかもしれませんが、
かねやんさんの言われるように、

「そんな面倒なことをおこなうより、ソフト会社がソースコードを
修正し、マルチCPU対応コンパイラでコンパイルして製品を
リリースするほうがよっぽど話が簡単です。」

というのが現状だと思います。

           オデム/香川県 高松市
      http://homepage1.nifty.com/odemu
10746.
Re:リオワークス 2CPU構成について
2006年01月30日(月) 23時41分
nouble1
Res感謝いたします

カスケード化の理論について問われてますが
前回の書き込みにて
一応の概略は説明させて頂けたと
思っておりますので
割愛させて頂いて良いでしょうか?

別途質問頂いた折には
非力ではありますが
無い頭を捻って分かる範囲
頑張ってお答え致します。

さて本題ですが

>矛盾したこと書いてませんか…

そうですか?
そうは感じないのですが…

ご承知の通り
ご指摘の私の発言は
>遅いクロックでパイプライン動作をおこない、
>簡単に言えば3GHz動作にしているだけのことです。
を受けて行っているものです。

この仰った内容の一面として
"実際は記載クロックより素晴らしく遅い動作タイミングで稼働しているものなのです"
という側面があると思うのですが、

この事に対し一行目は
否定の意味で信じられないと
書いております

その次の行ですが
>じゃあ3Gと書くと誇大広告になると思うのですが
仮に上記の仰ったことを真理と仮定した場合
矛盾が生じることを挙げております
従ってこの行もご発言を否定しております

最後の行ですが
>更にP3に限って言えば
>CPUは記載通りのクロック周波数が
>与えられてませんか?
この行も
記載通りのクロックでは動いていない
とのことを真っ向から否定していると思うのです

つまり3行とも一貫して否定していると思うのです。

矛盾している点が私の頭では読み取れないのですが
如何でしょうか?

>しかしこれはコード改変をするので著作権法に触れる可能性が…

確かにこういわれると
痛いところを突かれた感がありますね

しかしプログラムの著作権により
OSの裁量下であると思われる
実行順序決定権を縛れるのか否か…

私には正直判断しかねます
解りません(TT;)

少し考察してみましょうか?

ここで事実として前にも書かせて頂いた通り
INTELが以前よりマルチパイプライン化なるもので
この領域を侵し、お咎めを現段階では受けていない
というのが挙げられると思います。

だからといって「著作権は適応外だ」と
言い切れるものでも決してないと
私も思います。

やはり仰るようにグレー又は黒なのでしょうか?

やっぱり謎です(滝汗)

>そんな面倒なことをおこなうより、
>ソフト会社がソースコードを修正し、
>マルチCPU対応コンパイラで…

確かに全てのアプリケーションが
マルチCPU対応コンパイラーを意図して書かれ
コンパイルされたなら…

マルチCPUマシンユーザーには夢のような世界が訪れるでしょう

しかし現実はそうは甘くない!

更にそういう"しっかりと"書かれたものは
得てしてハイソなもの!

新しいマシンを買う余裕が無くて(TT)
ふっっる~いマシンの
骨の髄までしゃぶり尽くさなければならない
(書いてて虚しい…)
貧乏人には縁遠いのです

(  …   更に虚しい    …   )

(滝汗)

まあこの辺りは見解の相違というか
趣向の違いというか
好みになってくるのでしょうか?

お金のある人は"ちゃんとした"ソフトを買って
マルチCPU環境を堪能する

無い貧乏人は
一縷の望みをかけてマルチCPUに縋り
悲嘆に暮れ
モダモダ言う

こんなところが現状なのでしょうかね

(虚しさを超え哀愁さえ感じる… )
10747.
Re:リオワークス 2CPU構成について
2006年01月31日(火) 00時10分
かねやん
nouble1さん、こんにちは。 

>カスケード化の理論について問われてますが
>前回の書き込みにて
>一応の概略は説明させて頂けたと
>思っておりますので
>割愛させて頂いて良いでしょうか?

カスケード理論なるものに興味があるわけではありませんので....おまかせします。


>そうですか? 
>そうは感じないのですが… 

P3に限ってはと書かれたので、邪推してしまいました。まあ枝葉末節なことなので、この件はおしまいにしましょう。 

>ここで事実として前にも書かせて頂いた通り 
>INTELが以前よりマルチパイプライン化なるもので 
>この領域を侵し、お咎めを現段階では受けていない 
>というのが挙げられると思います。 

Pentium用のバイナリーコードをPentiumが内部でどんな処理をしようと結果がプログラムどおりであれば、なんら問題はないです
10748.
Re:リオワークス 2CPU構成について
2006年01月31日(火) 00時33分
nouble1
H犀踏さん オデムさん
書き込み有り難う御座います

まず謝罪させてください


カスケード化を
「多重化」
と訳していました
m(__)m

「カスケードの英語(Cascade)の原義は、連なった小さな滝のことである。
さらにその派生として連続したもの、
数珠つなぎになったものを意味する言葉として
各分野で用いられる。」
(ウィキペディアより)

つまりは私の大間違いで皆様に誤解を与えたと
こういう事のようで
何ともこの…




m(__)m陳謝

ところでオデムさん
OS⇔アプリケーション間の関係は
パスカルのまたそれとは違いますが
中間コードのようなものが
用意されているのではないでしょうか?

ここからは推察でしかないのですが
これって先読みできないのでしょうか?

この辺りのことはほんとによく分からないのですが
アプリケーションが
直接ハード的なことに全くタッチせず
Pコードのようなもので
OSに対し依願することにより動いているのなら
そしてそのコードを先読みできたと仮定したなら

結構処理は容易いのかな?

以前に
「高度処理をしているOSはアプリケーションにCPUを一切見せない」
という記述を見たような気もするのですが

思い違いでしょうか?

H犀踏さん
「Code Morphing Software」
ですか
すごく興味深い技術ですね
感謝します。
これって属性はCPU技術なんですが?
それとも並列処理化理論の一種なのですか?
それとも…

ちょっと検索しただけなので
まだまだよくわからないのですが
現実に稼動実績があるようで
期待できそうですよね

ところでこのCMSを実装している(?)という
Efficeonなるものですが
P3CPUの代替としての可能性や
有効性はどんな感じなのでしょうか?

こちらにも興味をそそられます
10754.
Re:リオワークス 2CPU構成について
2006年02月01日(水) 22時33分
オデム
nouble1さん、こんにちは。

あまり詳しくなくて、昔仕入れた知識ですので
多少ずれてるかも知れませんが。

>OS⇔アプリケーション間の関係は
>パスカルのまたそれとは違いますが
>中間コードのようなものが
>用意されているのではないでしょうか?

サブルーチン的なものは用意されていますが、
中間コードのような考えは、皆無でしょう。

バーチャルマシンやエミュレータやインタープリター
というものはそれぞれ存在しますが、OSとは異なる物です。

>ここからは推察でしかないのですが
>これって先読みできないのでしょうか?

中間コードでもマシンコードでも、先読みは可能でしょう。

先読みの考え方は、CPU内部やメモリなど、各処理部(各電子回路)
での待ち時間を極力少なくし、各処理部(各電子回路)を
同時に(=並列に)動作させ、1CPUの範囲内での処理速度を
少しでも理想値に近づけるための手法だと思います。

コードを(あるいはソースを直接でも)、先読みしながら、
リアルタイムで複数CPUに対応する処理を編み出すには、
先読み処理回路自体が「CPU+大量メモリ(=コンピュータ)」
に匹敵する複雑な演算・判断回路として必要になるのでは
ないでしょうか。

そういった物が安く大量に作れる時代もくるのかもしれませんが、
OSもアプリもどんどんバージョンアップ(ソースプログラムの
変更)が行われている現状では、並列処理に対応するように
ソースを組み直す方が現実的であり、効率がよいと思います。


>「高度処理をしているOSはアプリケーションにCPUを一切見せない」
>という記述を見たような気もするのですが

「アプリケーションにCPUを見せない」のではなくて、
「アプリケーションにI/Oなどのハードウェアを見せない」
のではないでしょうか。

USB端子にFD・HDD・USBメモリ・CD・DVDなど、
動作もハードウェアもまったく違う記憶装置を接続しても、
アプリからは同じ手続きで記憶装置として見えているといった手法です。


アプリケーションにCPUを見せないためには、インタープリタの
手法が必要になると思われます。そんなOSはあるのかな??



>ちょっと検索しただけなので
>まだまだよくわからないのですが
>現実に稼動実績があるようで
>期待できそうですよね

もうちょっと検索された方がよろしいのではないでしょうか?。
http://www.watch.impress.co.jp/pc/docs/article/991119/kaigai01.htm
http://ascii24.com/news/i/tech/article/2000/01/20/606559-000.html
http://itpro.nikkeibp.co.jp/free/NC/NEWS/20031015/135595/
http://hotwired.goo.ne.jp/news/business/story/20050106106.html
http://japan.cnet.com/news/ent/story/0,2000047623,20084100,00.htm

           オデム/香川県 高松市
      http://homepage1.nifty.com/odemu
10755.
Re2:リオワークス 2CPU構成について
2006年02月01日(水) 23時00分
はらっぱ

オデム さん、こんばんは。はらっぱ です。

>アプリケーションにCPUを見せないためには、インタープリタの
>手法が必要になると思われます。そんなOSはあるのかな??

OSと言えるかどうかわかりませんが、昔APLと言っていた
(いまはAPL2ですが)言語というか、環境が、インタープ
リタではありますが、それに近いのかも。
それとも、Lispのような記号処理言語がそれに近いので
しょうか。
20~30年前の知識なので、古すぎますかねぇ。

  では。  
           はらっぱ in 長崎市
10760.
Re:リオワークス 2CPU構成について
2006年02月02日(木) 00時29分
nouble1
恐れ入ります
10764.
Re:リオワークス 2CPU構成について
2006年02月02日(木) 23時23分
オデム
はらっぱさん、レスありがとうございます。

>OSと言えるかどうかわかりませんが、昔APLと言っていた
>(いまはAPL2ですが)言語というか、環境が、インタープ
>リタではありますが、それに近いのかも。
>それとも、Lispのような記号処理言語がそれに近いので
>しょうか。

おお。懐かしい!。<今使っている人、ゴメンナサイ。

APLは名前しか知りませんが、パソコン雑誌でLispの
紹介記事がはやってた時を思い出しました。
(私の知識も古いです)

「インタープリター言語」だと思っていましたが、
Lispマシンというのもありましたね。

           オデム/香川県 高松市
      http://homepage1.nifty.com/odemu
10765.
Re:リオワークス 2CPU構成について
2006年02月02日(木) 23時23分
オデム
nouble1さん、こんにちは。

私の書いていることが正しいとは限りませんので。

発言を相手や第三者がきちんと読んでくれたのがわかれば、
とても嬉しいわけで。

ですから、nouble1さんが恐れ入る必要は全然ありません。

               オデム
10769.
Re2: リオワークス 2CPU構成について
2006年02月03日(金) 23時26分
H.犀踏
nouble1さん、こんにちは。

CMSの説明はちょっと長くなるので、下の記事辺りを読んでみてください。
Efficeon大研究 ~新しくなったCMSを徹底チェック(MYCOM PC WEB)>URL:http://pcweb.pc.mycom.co.jp/special/2004/efficeon/menu.html

>現実に稼動実績があるようで
>期待できそうですよね

 問題のCMSはTransmeta社のCrusoeプロセッサと共に2000年に登場しました。当時はPentium!!!とAthlonの1GHz戦争の真っ最中で、年末にPentium4が登場しています。
 当初は市場の反応も鈍かったのですが、カリフォルニア電力危機などの事件から、その低発熱と低消費電力が次第に認められるようになっていきました。そし てブレードサーバーに採用されるに至って、とうとうIntelも対抗策を出さざるをえない様になり、PentiumMの開発を開始しました。

 CMSの最大の弱点は、x86コードからVLIWコードへの変換後は高速に動作するが、変換中は動作が極端に遅くなることです。実際に、OSやアプリの 起動直後は動作が鈍いという状態になってしまいます。この“キビキビ感のなさ”という欠点に加え、Transmeta社自身の生産計画の失敗などが重なっ てしまい、いまひとつブレイクできなかったところへ、Intel社のPentiumMのできが思いのほか良かった為にトドメを刺されてしまいました。現在 ではTransmeta社はプロセッサの製造からは撤退しています。

CMSは別のプロセッサ用コードをリアルタイムで解析・変換しているのに実用速度を出せるという驚異的なシステムで、複数のプロセッサ用コードを区別無く実行することも論理的には可能だったのですが、結局その実力は出せずに消えてしまいました。残念です。

 しかし、このTransmeta対策のために急遽でっち上げたPentiumMが、現在のIntel社の窮地を救っているというのは皮肉なモノです。

!-- H.犀踏 --
 


 

10705.リオワークス 2CPU構成について nouble1 06/01/22(日) 00:01
10707.Re:リオワークス 2CPU構成について OHA 06/01/22(日) 10:18
10708.Re:リオワークス 2CPU構成について nouble1 06/01/22(日) 14:20
10710.Re:リオワークス 2CPU構成について 史嶋 桂◆uWB3ISg= 06/01/22(日) 20:01
10711.Re:リオワークス 2CPU構成について nouble1 06/01/22(日) 20:58
10712.Re2:リオワークス 2CPU構成について はらっぱ 06/01/22(日) 21:31
10713.Re:リオワークス 2CPU構成について OHA 06/01/22(日) 21:32
10714.Re:リオワークス 2CPU構成について nouble1 06/01/22(日) 22:46
10734.Re:リオワークス 2CPU構成について 史嶋 桂◆uWB3ISg= 06/01/26(木) 16:58
10735.Re:リオワークス 2CPU構成について nouble1 06/01/27(金) 23:06
10736.Re:リオワークス 2CPU構成について かねやん 06/01/28(土) 00:29
10739.Re:リオワークス 2CPU構成について nouble1 06/01/29(日) 17:13
10740.Re:リオワークス 2CPU構成について かねやん 06/01/29(日) 17:53
10741.Re:リオワークス 2CPU構成について nouble1 06/01/30(月) 00:27
10743.Re:リオワークス 2CPU構成について かねやん 06/01/30(月) 09:46
10744.Re2: リオワークス 2CPU構成について H.犀踏 06/01/30(月) 21:03
10746.Re:リオワークス 2CPU構成について nouble1 06/01/30(月) 23:41
10747.Re:リオワークス 2CPU構成について かねやん 06/01/31(火) 00:10
10745.Re:リオワークス 2CPU構成について オデム 06/01/30(月) 22:29
10748.Re:リオワークス 2CPU構成について nouble1 06/01/31(火) 00:33
10754.Re:リオワークス 2CPU構成について オデム 06/02/01(水) 22:33
10755.Re2:リオワークス 2CPU構成について はらっぱ 06/02/01(水) 23:00
10764.Re:リオワークス 2CPU構成について オデム 06/02/02(木) 23:23
10760.Re:リオワークス 2CPU構成について nouble1 06/02/02(木) 00:29
10765.Re:リオワークス 2CPU構成について オデム 06/02/02(木) 23:23
10769.Re2: リオワークス 2CPU構成について H.犀踏 06/02/03(金) 23:26

 
 
Keep your PC sefest!
ソースネクスト
  
introducing
high performance
free browsers
  
Tune Up your PC!
ソースネクスト
 
ソースネクスト
 
ソースネクスト
 
 
 
This site is powered by Six Apart
Movable Type 3.33-ja
 

※FPCDIYのコミュニケーション・スペースは、無料・高機能コミュニティサイト「folomy」内にあります。次の手順でどなたでもご参加いただけます。
●下記サイトにアクセスし、「新規登録」ボタンをクリックしてください。
https://folomy.jp/heart/ または http://folomy.jp/heart/
●ご自分のメールアドレスを記入してください。
 ⇒一定のセキュリティ確保のため、無料でいくつも取得できる「フリーメールアドレス」では利用が制限される場合があります。インターネットへのアクセスに使用されているプロバイダ提供のメールアドレス等をご使用ください(アドレスはサービス内では公開されません)。
●登録したメールアドレスに本登録用の確認メールが届くので、その説明にしたがって登録を完了してください。(登録にあたっては規約をご一読ください)
手続き完了後、あらためて下記(FPCDIY@folomyのトップ)にアクセスしてください。
http://folomy.jp/heart/fpcdiy/
それでは、会議室でお待ちしてます!
PC-DIYフリートーク PC自作なんでも相談室 PCパーツ里親募集!
FPCU/FPCDIY QUICK LINK online
ジャンル名をクリックすると、この下のウィンドウが切り替わります▼


=インデックスページはこちら=