Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

parallelに関するissmのブックマーク (10)

  • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

    技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 20222023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

    Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
  • cpan module を並列でインストールする - skaji's blog

    先日行われた Gotanda.pm #5 でも発表させていただいたが、まさしく experimental な cpan client cpm を作った。 github.com Why new? cpan module の install にはいつも cpanm を使っており そのシンプルさと安定性には感心するばかりである。 が、cpanmにも不満がないわけではない。 perlである程度のことをやろうとすればすぐにcpan moduleの依存は 100を超える。 そういった場合、cpanmは直列でcpan moduleをインストールしていくため かなりの時間がかかる。 これをなんとかしたい。 Features of cpm cpm は如何に速くcpan module をインストールするか、しか考えていない。速くするために以下のようにしている。 cpanm を並列に使って cpan modul

    cpan module を並列でインストールする - skaji's blog
  • parallel と concurrent、並列と並行の違い - 本当は怖いHPC

    2017/01/10 誤字脱字を修正しました 2016/11/07 内容を修正しました 2010/09/17 文章を修正しました 一般的に、parallelは並列、concurrentは並行と訳されます。検索してもずばり書かれた物がなかったので、僕なりの理解を書いてみます。 (注:言葉の定義の問題なので、複数の流儀があり得ます。端的に言えば、いわゆるCPUSIMD命令を「並行」と見なすかどうかに違いが現れます) 参考リンク: http://d.hatena.ne.jp/NyaRuRu/20060129/p2 http://d.hatena.ne.jp/muimy/20070322/1174526368 一番妥当(だと思う)定義 一言で言えば、 Concurrent(並行)は「複数の動作が、論理的に、順不同もしくは同時に起こりうる」こと Parallel(並列)は、「複数の動作が、物理的に

    parallel と concurrent、並列と並行の違い - 本当は怖いHPC
  • Parallel::ForkManager 使って並行ダウンローダ作った - 理系学生日記

    Parallel::ForkManager はじめて使ったけど、これスゴい使いやすいなって思いました。 3 並列でダウンロードさせるにはこんなかんじ。 $ youtube-downloader -v -p 3 -f ~/tmp/url.txt ソースこれ。 #!/usr/bin/perl #-*- cperl -*- use strict; use warnings; use Getopt::Long; use Pod::Usage; use Parallel::ForkManager; use WebService::Youtube::Download; our $VERSION = "0.01"; GetOptions( 'h|help' => \my $help, 'f|urlfile=s' => \my $file, 'p|process=i' => \my $process, '

    Parallel::ForkManager 使って並行ダウンローダ作った - 理系学生日記
  • 【Perl】Parallel::ForkManagerモジュールで並列処理が便利過ぎて生きているのが辛い - oranie's blog

    とあるDBを利用したバッチ処理をやらせようとした時に #スクリプトの一部分 my @list1 = (適当なリストその1); my @list2 = (適当なリストその2); foreach my $value1 (@list1){ foreach my $value2(@list2){ #DBに接続して、あるテーブルのレコード件数countする→ #その結果を別テーブルにUPDATEするSQL実行処理; } }というまあ、foreachでグルグルグルグル回すスクリプトを書いたんですね。 で、まぁこれがクソ重かったんですね。テーブルのデータは全部メモリ上に載っているんですが、 10GB(1億レコードぐらい)ぐらいのテーブルで順番に$value1,$value2の変数を条件に使ってCOUNT()を使用した SELECT文を投げるので、一つのSQL投げたらDB側のCPUコアが100%になってし

    【Perl】Parallel::ForkManagerモジュールで並列処理が便利過ぎて生きているのが辛い - oranie's blog
  • pigz - Parallel gzip

    A parallel implementation of gzip for modern multi-processor, multi-core machines Welcome to the pigz home page. You can download the latest source code right here: pigz source code version 2.8 (19 Aug 2023) in tar.gz format (118K, SHA-256 checksum eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0, GPG signature) Latest version of pigz and its signature (version-independent links) p

  • logrotateってなんじゃ?(pigzで高速ローテート)

    大量アクセスがあってログファイルが巨大であったりすると、日々のlogrotateが重くなります。 対象ディレクトリ以下に大量のファイルがある場合も時間がかかることがありますが、その場合はローテションの世代数を減らしたり、対象ディレクトリから定期的に退避すれば済むため、ネックになるのは主に圧縮によるものだと思います。 デフォルトではgzipが利用されますが、別の圧縮プログラムを利用することもできます。 圧縮プログラムの選定ですが、基的に圧縮率の高いプログラムは時間がかかりますし、高速なものは圧縮率が低いものが一般的ですが、例外があります。 gzipなどはシングルコアしか使用しませんが、マルチコアで分散処理する圧縮プログラムだとおなじ圧縮フォーマットでも格段に速くなります。 今回は、その例としてpigzを利用してみます。 pigzは、gzipフォーマットの圧縮をマルチコアで行う高速gzip

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • GNU Parallel - Summary [Savannah]

    This software is part of the GNU Project. NAME parallel - build and execute shell command lines from standard input in parallel DESCRIPTION GNU parallel is a shell tool for executing jobs concurrently locally or using remote computers. A job is typically a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts,

  • GNU Parallelがすごすぎて生きるのがつらい

    皆さん今日もたくさんのサーバを相手にされていることかと思いますが、いくつかのサーバにアクセスして 1 秒間の統計情報(例えばvmstat 1 2)を集めてパッと表示したい時ってどうやってますかね?shell script を学びはじめたばっかりの僕はこんな感じで書いてました。 $ for i in host1 host2 host3; do ssh $i "vmstat 1 2 | tail -1"; done 0 0 0 329004 210836 14275360 0 0 0 2424 1410 1828 0 0 100 0 0 0 0 0 3716112 587704 25921684 0 0 0 488 1643 2026 0 0 100 0 0 1 0 0 555440 265560 14015548 0 0 0 4204 1534 2392 1 0 99 0 0 vmstatと

    GNU Parallelがすごすぎて生きるのがつらい
  • 1