変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

サーバー向けのCPUに求められるもの

軽量・重量級を問わずサーバーにはさっとデータを書き込んだり読み出す性能が必要だ。
さもないと3人で使っているだけでフリーズするのだから。
そこに求められるのは大容量のRAMだったり高速なストレージだったりするが、これを満足に制御できないCPUでは困る。
例えばサーバーが一人様専用エレベータみたいに動くとすると、すぐ目的の階に行けるのはいいが、乗るまでの待ち時間がとんでもなく長い。これを10人乗り規模に拡大し、各階の上下ボタンのリクエストを順に拾い上げる様にすると、リスエストあたりのアクセス速度(目的階への最速)は大幅に低下するものの、待ち時間はそれ以上に短縮され、1日に何往復できるか?という大ざっぱな測定をすればパフォーマンスが向上する。
サーバーに要求されるリクエストの大半が 待ち時間>>>処理時間 の傾向にあるので、若干の実処理時間の遅延よりも、目立つ待ち時間を短縮する方が勝るが、リスナーがリクエストをスレッドにばらまくのは、リスナーがすぐ聞き耳を立てないと、応答なしとエラーが返され、再送、再送・・・となりネットワークの負荷が一気に膨らんでしまうからだ。
もう一つは消費電力と発熱。前世代の様なホストサーバーなら、いくつものユニットの集合体であったがメーカーが一式で提供していたので、消費電力も検討が付きやすかった。今は泥縄式に(メーカー不問の)サーバーを増やせるので、新CPUの登場でユニットあたりの消費電力が1割増えただけで想定外の事態に発展する。
手早く暗号化や復調ができること。ここみたいに一人で記事を書いている分にはhttpsのプロトコルが多少重くても、1タスク待っていればいいだけだ。しかし一般に多数のユーザがhttpsなページにアクセスした途端にヘナヘナになるようなCPUであっては困る。万が一、サーバーからアカウント情報が漏えいした場合には一斉にユーザにパスワードの更新を求めることになるが、一斉にユーザがhttpsなパスワードの更新の画面にアクセスするとやはりヘナヘナになって落ちるはずだ。セキュリティが破られた後の後始末でも使うのだから要注意。
文字の変換、文字列の処理が容易なこと。httpではいろんな文字コードを使用するので、相互に文字コードの変換が必要だ。また記事のhttpページはいくつものテキストを組み合わせて作られている。だから文字列なんて長さ未定の可変長データは苦手なCPUでは困る。もちろん、そんなデータベースなら、なおさらお断りだ。
 



人生は90秒で変わる?

ある意味刺激的というか劇薬なタイトル。
※この本は、買ってもいないし、読んでもいない。あくまでタイトルだけの話。
「やるなら今でしょ!」と意味は同じだ。
大抵は下の方に人生が傾く。
※つい先日もタイムセールで3TBのHDDを9千円ちょっとで買ったがついでに買ったWindows7Proが高かったので、買い物としては失敗だった。(大笑
で、成功するあるいは↑向きになるのは極一部だ。
なぜなら、一歩遅れ2番手になれば「2番煎じ」になってしまい、商売的にミスな判断になる。
そして、一番を引くのは、「当然、最初のお一人様」でしかない。
そんな美味しい話を聞いた時点で、まず一番を引く確率は限りなく0に近いという事実を理解しておくことだ。
但し、100番目だろうが、1億番目になろうが、成功できるのは自分だけという自信があれば、90秒で判断する必要もない。
準備が整った後に待つだけで十分だ。
その時にOKのサインを出せばいい。
その時間はたぶん90秒どころか、
 
心の中では1秒にも満たない時間だ。
ただ、他人にはそうは見えないだけの話。
 
日々、鍛練ってことだね。(笑
 
ただ、プログラムを始めたころは、全く違っていた。
面白そうだからやってみようか?と云ういい加減な気持ちで始めた。
すぐにどうにもならない無限ループにはまり、しはらく問題を放置し、翌日考え直したりの試行錯誤。
とてもストレートに、プランを考え、設計し、テスト・・・な調子ではなかった。
もちろん、NGな結果が出ることも多かった。
今でも、メモリ16MBにデータもプログラムも詰め込むことはそう簡単ではない。
要点だけをプログラムにすると、データが多すぎて入らない。
要件を煮詰めてプログラムにすると、記述できないデータが出てくる。
結局、データの特異点を突き止め、最適化し、これに合わせてプログラムを書き直し、データも変換しなおすのが常だった。
 
こんな状況では90秒どころかOKの決断をするのは明らかにNGだ。
ただ、これも相手次第。
いまどきこれくらい出来て当たり前と思っている相手なら、NGだが・・・
誰もできないと云っている君ならできるか?と聞かれたら、話は別だ。
 
ただ昔も今も詐欺師が多いから十分に気を付ける必要がある。
逆上がりができるかどうかなら、失敗しても人生どうってことはない。
しかし、たったの1mの隙間を渡るかどうか?落ちれば下は100mの奈落の底っておまけ付。
君ならどうする。渡る?渡らない?



TDP

Thermal Design Power 「熱設計電力」と直訳されても訳が分からないIntelの技術用語。
要はこの発熱量の範囲で使用するなら大丈夫ということであり、IntelのCPUチップの場合、この想定熱量を超えないようにクロックダウンなど発熱量を抑える仕組み(クールダウン)が組み込まれている。

※CPUファンを付けないまま電源ONしても大丈夫なのかは不明。

このため、クールダウンが発生しない程度に排熱できる様にケースやファンなどを工夫すると、CPUは気前よく動くハズである。
ただし、モバイル向けやCore i5や i7ではCPU負荷が低い状態ではクロックを落とし消費電力を下げるようになっているので、ベンチマークなどCPU負荷を高めた状態にしないとTDPに沿った排熱ができているのかは判らなくなっている。
また消費電力が小さいAtomでもかなり発熱するのでTDPもよく検討すべきである。CeleronもCPUの消費電力が小さいクセに耐久温度が100℃を超えているものは要注意。周辺の部品の方が耐えられないし、そもそもそんな高熱にさらされ続けるとリテンションのプラスチック製の部品(ガイドやピン)は熱に脆くなり折れやすくなり、CPUファンを掃除しようとしたら4本中2本が折れててグラグラになっていたこともある。
※2本締めのAMDのアレはちょっと不安。安全帯を付けたくなる。
 
 



WiFi

Wi-Fi Alliance って団体に認められた装置に付けられるマークのこと。
Wireless Fidelity すなわち、この適合マークを付いている装置は無線LANで相互接続ができるという証になっている。
Wireless FidelityからWi-Fiなのでワイファイと読む。
無理にウィフィとローマ字読みを主張するネット変人がいるが引っ掛け(ウィフィと読んでやんのバーカバーカというオチ)なので相手にしなくてよい。
それにWi-Fi Allianceという団体名なのだから自分たちの団体名をワイファイ・アライアンスと云うならそれを尊重するのは当然のことだ。
※FinalFantasyからFFなのでエフエフではなくファイファンと読む少数派の例があるが、メーカーではFFと書いてFinalFantasyと云っているので極少数派である。
WiFi団体が生まれた背景には、IEEE802.11 xの規約だけでは「自社製品への囲い込み」という誘惑に勝てる者なぞ居る訳もなく、またA社製品用、B社製品用などど無線LANを個別に構築する会社や団体なぞそう多くなく、転送速度の向上とともに価格が高騰し、無線LAN自体の先行きに暗雲が立ち込めたことだ。
相互運用のしやすさから利用数が増え、無線LANの装置の価格の低下につながった。今では手軽にLANを利用する手段として使われている。
難点は親機と子機間で認証が必要であるため、子機が別の親機のエリアに移動した際には、あらためて認証しなおさなければいけない。このため、移動体に乗車している間は利用が難しい。
3GやLTEなど広域無線ネットワークでは無線親機の上に親機が存在し、この親機が一括して子機の認証(SIMまたはUIMによる個体認識)を管理しておりまた他のネットワーク(インターネット)への接続も行っているので、別の無線親機のエリアへ移動してもIPアドレスも変わらず、そのまま利用できる仕組みになっている。
WiFiに広域無線ネットワークと同じ仕組みを導入すれば同様に使えるハズだが、それがWiMAXであり、同様の月額使用料が必要になるだろう。
ただ、広域無線ネットワークの仕組みをエミュレーションする仕組みが構築され、UIMの様に高速で認証できる手段があれば、別次元のWiFiになる可能性はある。



Windows8のStartメニューを復活するプログエクトはまだstartしていない

Windows8の次のアップデートでStartメニューを復活する見通しだったがまだ何もしていないようだ。
もしかするとビルド・オプションに-START_MENU(仮称)を付けるだけで十分なのかもしれない。
Startメニューが復活すればデスクトップにアイコンを作らないWindows7向けのインストーラが支障無く使える。
それで困るのはInstellSheild社だけである。
もっともデスクトップに下記のショートカットを作っておくだけでも解決できる。
C:\Users\{ユーザ名}\AppData\Roaming\Microsoft\Windows\Start Menu
 
 



なぜ中国とロシアがあーなっているのか?そもそもの原因とその対策は?

中国は

原因

今なら原油価格が高く、近郊のしょうもない埋蔵量の油田を高い金をかけて掘ってもペイできる。シェールガスで原油価格が低迷直前の今が勝負時、それに油田が枯れてしまえばもうこんな機会は二度とない。

状況の推移

末端の政府機関が勝手に採掘現場を自国のEEZに組み込み中央へは事後報告。後は鼻息の荒い会社の下っ端の荒っぽい現場の判断で力押しさせ、周辺国が軍事活動しないように軍を関与させない。だから痴呆症の将軍様の発言は現状を一応正しく説明している。つまり中央は下っ端のしでかしたヘマをかばうのに必死だし本気だが、嫌々やっていることに変わりはない。

対策

経済制裁として、軍事費を大幅に削って膨大な資金をシェールガス開発に投入し開発をガンガンと押し進め、世界の原油価格相場を10年ほど半分以下に引き下げ、価格高騰でボッタクな石油資源開発会社を破綻に追い込み、ハゲタカよろしく会社ごと資源回収し、領土問題とセットで国際裁判所に持ち込み仲裁裁判で仲裁契約を穏やかに進める。

影響

北海油田(もう枯渇してたかな?)、ロシアのサハリン1,2など同じネタ振り(やるなら今でしょ的な油田開発)で荒稼ぎしているところも壊滅。

再発防止策

特になし。どうせまたやらかす。

新興ロシアは

原因

シェールガスでLPGや原油価格がいずれ低下し資本が大きく目減りするのが見えている。やりたいことは今のうちにしかできない。

状況の推移

近郊のロシア系住民を勧誘できるのは今のうち景気良くプレゼント(賄賂)を振る舞い夢のある先行きのプランを提示し、そこで住民投票をすれば気前のよいロシア系某会社や組織の主張が圧勝するのは当然。

対策

シェールガス開発をしっかりやっていれば先は見えているので、長い目で経過をみるだけでOK。東西を隔てる鉄の壁を作る予算もないロシアは経済破綻までの期間は先の冷戦よりずっと短い、それまでは地味にロシアの周辺国を経済支援。ロシア再々建はあせらず周辺国を起点にゆっくりを進める。

再発防止策

歴史認識は各国でバラバラになるので、経済指標と状況の遷移を織り交ぜて、状況分析をしっかり行う。

 
という感じかな。
 
原因がシェールガス開発なら、その悪影響を絶つのもシェールガス開発。
そ、後はやるっきゃないのですよ。がんばってね。



Dynamicさに欠けるXAML様式

先の
<CheckBox IsChecked=”{Binding *****, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}”/>
はどうやってC#でコードするのか?
残念ながら正解は・・・なかった!
頑張って色々C#コードでやってるのも見かけたが、ピッタリそのままとはいかない様だ。
XAMLを読み込んでフォームを作る仕組みが実はC#とは無関係に実装されているようで、C#でコードするのはお勧めしませんXAMLファイルをお使いくださいということらしい。
仕方が無いので、上のテキストをXamlReaderに読ませると、エラー CheckBoxって何?とか言い出す。
XAMLファイルの内容をXamlWriterに出力させてみると、
一番Topのノードに妙な属性が付いていた。
xmlns=”http://schemas.microsoft.com/・・・/xaml/presentation”
これが無いと読めないのはなんとなく判る。
更に驚いたのは、
Binding = “False”
になっていたこと。
つまり WPFのフォーム・クラスでは、Bindingに関する何かのstaticなメソッドをインプリメントし、こうならないようにカバーしているのだろう。
でも面倒なのでreplaceで先の設定に書き換えて、XamlReaderに読ませると動くようになった。
※この時点で『ローカル』ビューに出ているテキストをソースに貼りつけBining部分を手直ししてもいいだろうけど、VSの画面で手直しできる方が楽。
さて、やっとのこれでCheckBox付のカラムを好きなだけ勝手に増やせるListViewができた。
単独のコントロールならフォームに_***** のセッター、ゲッターで十分なのだろうけど、DataGridやListViewの場合はカレントの行を意識するのは容易ではない。
残りはコンボボックスかなリストの中身をいつも最新にするには・・・上の方法で十分だろう。(笑
 
と云う感じで、XAMLの論理設計や実装の悪さを痛感した。
XAMLのフォームエディタでフォーム・サイズを変えた時に良い感じになるようにレイアウトを変えようとすると、ただただ変になっていくし・・・どうしようもない。
こうなったら、XAMLを手で直接書き換えた方がマシだ。
それにjQuery-UIもやっぱり変なものでいっぱいだし、使ってみると、妙な制限が多くて、パーツとして使えないので画面の飾りとして使うしなかいのは御承知の通り。
こんな思いをするならどっちも、自前でXAMLもどきやFormもどきを作った方がマシ。
だから、自分用でOK。



そもそもの土台の出来がダメなWindowアプリ開発環境 ~2014年5月現在の状況~

次のWindowsはデスクトップ用とモバイル用に分かれるらしい。
※もちろん、サーバー用のWindows Serverは全く不明。
どちらもWindowsRTアプリが動くようになるらしい。
しかし、それ以前にWin32にはプラットフォームとしてはともかくアプリ開発の土台がなってない。
古くあるMFCベースはもうやる気が無いらしく、Windows FormかWindows Presentation Foundation(以下WPF)をベースに作ることになる。
それにC++、C#、VBの様な言語も選ばなくてはいけない。
ま、その辺の実装に大きな問題は無い、問題は実装した後の結果だ。
C#とVBでリリースした機能に差(VBだけにある機能)があったり、Windows Formは昔から仕様がほぼ変わらないが流行りの記述方法に変わっている。WPFはBindingに頼り過ぎBindingはJava系で云うところのヘルパークラスやJDBCの仮装実装インタフェース状態にそっくりだ。そう作った奴にしか判らない実装になっている。古いもので云えばOS/2のクラスライブラリィ同然で、サンプルでの書き方(またサンプルの記事の通りの方法)でしか機能しないのだ。
あからさまに云えば、XMLでサンプルデータを作り、それをフォーム上のコントーロールにBindingしデザインを確認したら、こんどは、そのBindingの設定をDBなりクラスなりに置き換えなくてはいけない。ここで不味い実装が露見する。
dataSource  プロパティはもちろん変更が必要だが、末端の Binding   xpath=@<エンティティ名> を Binding <クラスのプロパティ名>に全て手で直していかなければいけない。
この辺の設計者は、どうせ全部部下にやらせるからどうでもいいんだろう。 どこでそうだがSGMLの仕様は一見読みやすいが流用が効かない=一行野郎魂で出来ている。と判るのは実際に使っている部下だけである。
さらに、C#のWindows Form アプリ系は、フォームのビハインド・ソース・ファイルのフォームクラスの前に何か別のクラスを作ると、同列のxxxx.designe.csつまりフォーム設計をC#ソースにしたものなのだが、そのクラス名が先の作ってしまった別のクラス名に裏でこっそり置き換わり、次第にエラーが山の様に積みあがるバグは今も入ったままだ。
また、WPFではそうならないので安心かと思えば、Nameプロパティが名無しの状態からプロパティウインドウで何か名前を与えようと1文字入れると反応しなくなり、続きはXAMLファイルのテキスト・ビューの方で中途半端な名前になっている箇所を正しい名前に書き換えなくてはいけない。
と云う感じで、IDEのUI設計レベル(並) >>(全く越えられる気配が感じられない距離感)>>UIの実装レベル(底辺) なのが現実で、それが、アプリの構成設計 ≒ サンプルの実装 の出来なので、応用が利かない。
例えばWPFでListViewをGridViewとして機能させ、列を設定用にチェックボックスで埋めることができる。Windows FormではOwnerDrawイベントを駆使して実装しなくてはいけないのに比べればかなり簡単だ。しかし、それは列に文字を出すだけなら簡単で、チェックボックスでも列の設計が固定なら簡単だ。但し、DBの内容によって列の数が増減するようなダイナミックな設計をしてしまうと、もうXAML式(仕様は永久確定でなければいけないの法則)では無理で、頑張ってBinding するリソースをC#で組み立てなければいけないが、XAMLの <CheckBox IsChecked=”{Binding IsConverted, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}”/>の属性の部分を どうC#ソースで書くのかは、var 宣言から逃れられないため、ソース・エディタのヘルプも全く役に立たず、正解はコメントの無い実装レイヤーに包まれている。
さらに5月のSQL Server 2008 のWindows Updateパッチはいつまで経ってもインストに失敗すると報告する。実はパッチが当たっており、インストーラのバグだったようで、非表示にしてめでたしと思いきや、こんどはデタッチでエラーが出る。強引にデタッチすると、データベースのインスタンスがクラッシュし、再起動しても復旧しない。仕方なく2014に置き換え、アタッチすると、何事も無かったかのように動き出すが、今度はVisual Studio 2013のデータベース・ツールからスキーマ詳細構成が見れないのはバージョンが新しすぎるせいなので仕方が無いが、無駄にアチコチにバージョンチェックが挟まっているせいで、バージョンチェックエラーとなり、テーブルのデータも観れないし、SQLを実行することもできなくなっている。
※但し、コンパイルしたアプリはNO VESION CHECKED なので何も支障が無い。
黒猫やCSDが無かったら、どうなってるか?と思うと怖いですね。
という感じで、ボロボロです。
もうご臨終じゃないですかね。
でも、もうすぐ2014版がでるんでしょうね。それまでは開発を放棄し、待機してるしかないですね。
てかMSの仕事って雑すぎるってだけの話なんですけどね。
そうでもなければ誰もWindows 9の話なんて耳を貸す訳がないですよね。
ただいま仕事にならない状況です。
次のWindowsの情報を検索してヒマつぶししております。 (世界中の大半のプログラマ
 
所感:
所詮セキュアにしようとすれば、内容の確認もできず、ロクなテストもできないのは当然。出来が悪いのは必然!
そこを頑張ってデバッグしてると思わぬところで天井が抜ける!セキュリティホールがアチコチで見つかる諸元なのだ!
つまり、セキュアにすればするほど、どんどんテスト不十分になり、とんでもない勢いでセキュリティホールが仕込まれていくのである。(証明終了



フラットでスマートになるのか多様化するのか?PCのメモリ

主メモリを高速化するならCPUのすぐ傍にHBMをくっ付ける方がいい。
HBMはGDDR5以上に高速(7Gb/s/pin~)なので、今までのDDR系列をDDR3(~2..4Gb/s/pin)からDDR4(~3.2Gb/s/pin)へ移行して高速化しても、圧倒的な差が生まれてしまう。
PS4と同じ様にGDDR5をそのまま使えばよさそうだが、メモリチップを基盤に直付けになりそうだし、PS4でGDDR5用のDDRコントローラを使えたのも既にAMDがGPUチップで使用している実績も大きいだろう。
もしGDDR5にDIMMかSO-DIMM仕様ができたら、AMDはGDDR5用のDDRコントローラを積んだ普通のAPUを出してくるだろうか?
GDDR5は消費電力と発熱が凄く、それこそ、ハイエンドビデオカードの様にCPUのすぐ傍にGDDR5チップを配置したドーターボードにした方がマシだろうけど、勢いHBMにした方がスッキリする様な気がする。
そこで、GDDR5をベースにSO-DIMMで利用できる程度に低消費電力で廉価なチップGDD5M(3.2~4Gb/s/pin)で間に合わせると云う考えがあるらしい。それなりに高速でCPUでも採用されれば、今はDDR3を使用している安価なビデオカードにも採用されれば、CPUもビデオカードもメモリ性能がアップして両得となる訳で悪くない話である。
しかもデスクトップPCもノートPCも普通のグラボも主メモリがSO-DIMMになる訳でパーツの使いまわしもできるというものだ。
しかしCPUメーカーの反応はイマイチらしい。
今のDDRはDDR4まで使って、その後は、大容量キャッシュとしてHBMを使い、主メモリにはPCIe接続で高速化したSSDにDDRと同様の8バイトブロック転送モードを付けて、SSDをDDRの替わりに使いたいにかもしれない。
今のDRAMのセルは概ね300MHzで動作しているが、データ転送の方式をうまく作り、このセルの読込み時間をできるだけ見えなくしているから、1個のSSDでは性能的に無理かもしれないが、M.2タイプのSSDを多連装したり、OSのメモリスワップの仕組みもHDD前提からSSD指向に書き直されたら同様に遅延時間をうまく隠ぺいできるかもしれない。
もっともその頃の高速なSSDの中にGDDR5が入っているのかもしれないけどね。
 
 
 



Surface 3

Surface miniだろうと云う前評判を華麗にかわして出てきたのはSurface 3だった。
12インチのモニタの大きさは微妙だし、Core i3モデルで799ドルなのも中途半端、XPサポート終了特需で世界的にSurfaceが供給不足になっていたので、今まで発表が延期になっていた様な気がした。
そう思ってしまうのも、いったい誰に向かって、付属のペンで手書きしたりフォトショップを使ったりアピールしているのかも判らないシロモノだからだ。
同様なものと云えばWACOMの高価なタブレットCintiq Companion($2,299.00)しかなかく、プロのクリエイターではないけれど絵も描けるWindows8タブレットっていいなと思うけど、Cintiq Companionは高くてとても手が出ない人には丁度いいだろう。このCintiq CompanionはHD解像度(1920×1080)で、Surface3はそれより高解像度(2160×1440)なトコロもそんな人の心をくすぐるだろう。
ただ当たり前のことだけど、どれを使おうが、ペンでサラッとなぞって、絵筆の様に描くことはできない。ペンで絵筆コマンドを送り続け、後で確認する様な気持ちでいないと、反応の鈍さに腹が立ってくる。
プロなら仕上がりをイメージしつつ、少しづつエアガンで塗装する様な感じで、もうちょっと、もうちょっと、と重ね塗りできるのだろうけど、
ボクみたいな素人だと、ペンの動きにラグなしで素早く結果が反映されないとイライラするので、ペンよりもレイヤーを分けてマウスでマスキング指定し塗り塗りした方がストレスが無い。
このSurface3が出て一番うれしいのはAdobeなのかもしれない。パッケージ販売から月額制オンラインサービスに切り替わったからだ。
ps.
ライバルはMacBook Airらしい。日本では10万円~らしいので、価格が高いから引き合いに出してきたのかもしれないが、まともにDellや富士通や東芝のコンパーチブルなノートPCと比較する訳にはいかないというのが一番の理由かもしれない。
3でSurfaceの一番のメリットのお得さが無くなり、ハイスペックを重視しだした時点で、他のコンパーチブルなノートPCに埋もれてしまうだろう。
単にメモ帳で記事を書く程度ならCeleronで十分だし、ペンを使うにはプロ並みに使いこなさないと逆にストレスになる。普通は添削で○や×を入れたり、手書き文字で書き込み程度しかしないから、ペイントぐらいかな。やっぱりCeleronで十分だな。
ただ、JavaでEclipseでWEBの開発とかいいだしたら、i7は欲しいけどね。Celeronじゃ起動の待ち時間が何倍にもなるので仕事にならないからね。(大笑
 
 
 
 




top