話は15年程前に遡ります。JTB担当の営業から「ソートをする夜間処理のバッチが朝までに終わらない」何とかならないものか? と相談を受けました。
話を聞くと「AIX上で動作している、HSSORT」(通称:IBM ADONソート)が遅いらしい。たかだか300㎆のファイルのソートに10分かかるとのこと。
そんな訳あるはずがないと思い、ADONソートのマニュアルを読み込みました。が間違いはないようです。
かつて SURE-SYSTEMのSORTのコマンドを開発した経験から、
「思わず、100倍は速く処理できる!」と叫んでしまいました。
営業は大喜びで契約を結び、私はADONソートの代替ソートを開発することになりました。
完成した代替ソートは、期待通りの性能を発揮しバッチ処理は100倍以上速くなり問題は解決しました。
営業が顧客に提出した結果報告書が こちら になります。
機嫌を良くした営業が、しばらくしてソート関連の案件をNRIより受注してきました。
某メーカのソートが、カタログ通りの性能で動作しない...メモリを増設しても解決できない。何とかならないかとのこと。(どこも同じ問題を抱えているんですね)
ただし、前提として「自社に出向して開発すること」とありましたので、私は「出向はいたしません!」と断りました。
しかし、先方は「出向しないなら、現在出向している他の要員の契約を切る」と言い出しました。(どんだけ上から目線なんだ、あなた方はお貴族さまですか!)
そこまで言うならと「HP-UXをこちらに送ってくれるならソートプログラムを開発する」と提案しました。
ほどなく、自社にHP-UXが届き、私はソートプログラムの開発を始めました。
どうせ開発するならと、前人未踏なアルゴリズムを編み出しソートプログラムは完成しました。研究のためソースコードを希望する場合は「お問い合わせ」ください。
テラバイト級のデータの超高速ソートは、「高速ソートのアルゴリズム」だけでは実現できません。
「アセンブラでのファイルの高速アクセス」と「物理メモリを常に最適で利用可能にするメモリ管理」をバランス良く動作させる制御機構が必要になります。
これらを研究し未踏なプログラムを開発することは、やっぱ IT技術者のロマンだと思うんだよね。
前のページに戻る