fairy 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/LICENSE +674 -0
  2. data/Makefile +116 -0
  3. data/README +15 -0
  4. data/bin/fairy +582 -0
  5. data/bin/fairy-cat +74 -0
  6. data/bin/fairy-cp +128 -0
  7. data/bin/fairy-rm +122 -0
  8. data/bin/subcmd/controller +41 -0
  9. data/bin/subcmd/inspector +81 -0
  10. data/bin/subcmd/master +43 -0
  11. data/bin/subcmd/node +47 -0
  12. data/bin/subcmd/processor +54 -0
  13. data/doc/programming-interface.html +240 -0
  14. data/doc/programming-interface.rd +300 -0
  15. data/etc/fairy.conf.tmpl +118 -0
  16. data/ext/simple_hash/extconf.rb +4 -0
  17. data/ext/simple_hash/simple_hash.c +42 -0
  18. data/fairy.gemspec +60 -0
  19. data/lib/fairy/client/addins.rb +20 -0
  20. data/lib/fairy/client/barrier.rb +29 -0
  21. data/lib/fairy/client/basic-group-by.rb +52 -0
  22. data/lib/fairy/client/cat.rb +41 -0
  23. data/lib/fairy/client/direct-product.rb +51 -0
  24. data/lib/fairy/client/equijoin.rb +79 -0
  25. data/lib/fairy/client/exec.rb +54 -0
  26. data/lib/fairy/client/filter.rb +62 -0
  27. data/lib/fairy/client/find.rb +35 -0
  28. data/lib/fairy/client/group-by.rb +194 -0
  29. data/lib/fairy/client/here.rb +84 -0
  30. data/lib/fairy/client/inject.rb +70 -0
  31. data/lib/fairy/client/input-file.rb +53 -0
  32. data/lib/fairy/client/input-iota.rb +49 -0
  33. data/lib/fairy/client/input-local-file.rb +188 -0
  34. data/lib/fairy/client/input-varray.rb +30 -0
  35. data/lib/fairy/client/input.rb +42 -0
  36. data/lib/fairy/client/io-filter.rb +26 -0
  37. data/lib/fairy/client/junction.rb +31 -0
  38. data/lib/fairy/client/map.rb +34 -0
  39. data/lib/fairy/client/merge-group-by.rb +71 -0
  40. data/lib/fairy/client/output-file.rb +64 -0
  41. data/lib/fairy/client/output-local-file.rb +60 -0
  42. data/lib/fairy/client/output-null.rb +47 -0
  43. data/lib/fairy/client/output-varray.rb +50 -0
  44. data/lib/fairy/client/output.rb +29 -0
  45. data/lib/fairy/client/roma-put.rb +62 -0
  46. data/lib/fairy/client/roma.rb +156 -0
  47. data/lib/fairy/client/seg-join.rb +61 -0
  48. data/lib/fairy/client/seg-map.rb +78 -0
  49. data/lib/fairy/client/seg-shuffle.rb +35 -0
  50. data/lib/fairy/client/seg-split.rb +27 -0
  51. data/lib/fairy/client/seg-zip.rb +60 -0
  52. data/lib/fairy/client/select.rb +38 -0
  53. data/lib/fairy/client/sort.rb +48 -0
  54. data/lib/fairy/client/sort18.rb +56 -0
  55. data/lib/fairy/client/sort19.rb +61 -0
  56. data/lib/fairy/client/there.rb +47 -0
  57. data/lib/fairy/client/top_n_into_roma.rb +34 -0
  58. data/lib/fairy/client/wc.rb +92 -0
  59. data/lib/fairy/controller.rb +1103 -0
  60. data/lib/fairy/logger.rb +107 -0
  61. data/lib/fairy/master/addins.rb +20 -0
  62. data/lib/fairy/master/atom.rb +17 -0
  63. data/lib/fairy/master/c-barrier.rb +283 -0
  64. data/lib/fairy/master/c-basic-group-by.rb +250 -0
  65. data/lib/fairy/master/c-cat.rb +159 -0
  66. data/lib/fairy/master/c-direct-product.rb +203 -0
  67. data/lib/fairy/master/c-exec.rb +68 -0
  68. data/lib/fairy/master/c-filter.rb +422 -0
  69. data/lib/fairy/master/c-find.rb +138 -0
  70. data/lib/fairy/master/c-group-by.rb +64 -0
  71. data/lib/fairy/master/c-here.rb +80 -0
  72. data/lib/fairy/master/c-inject.rb +119 -0
  73. data/lib/fairy/master/c-input-file.rb +46 -0
  74. data/lib/fairy/master/c-input-iota.rb +66 -0
  75. data/lib/fairy/master/c-input-local-file.rb +117 -0
  76. data/lib/fairy/master/c-input-varray.rb +53 -0
  77. data/lib/fairy/master/c-input.rb +24 -0
  78. data/lib/fairy/master/c-inputtable.rb +31 -0
  79. data/lib/fairy/master/c-inputtable18.rb +36 -0
  80. data/lib/fairy/master/c-inputtable19.rb +35 -0
  81. data/lib/fairy/master/c-io-filter.rb +28 -0
  82. data/lib/fairy/master/c-junction.rb +54 -0
  83. data/lib/fairy/master/c-map.rb +27 -0
  84. data/lib/fairy/master/c-merge-group-by.rb +241 -0
  85. data/lib/fairy/master/c-output-file.rb +84 -0
  86. data/lib/fairy/master/c-output-local-file.rb +19 -0
  87. data/lib/fairy/master/c-output-null.rb +45 -0
  88. data/lib/fairy/master/c-output-varray.rb +57 -0
  89. data/lib/fairy/master/c-output.rb +20 -0
  90. data/lib/fairy/master/c-seg-join.rb +141 -0
  91. data/lib/fairy/master/c-seg-map.rb +26 -0
  92. data/lib/fairy/master/c-seg-shuffle.rb +87 -0
  93. data/lib/fairy/master/c-seg-split.rb +110 -0
  94. data/lib/fairy/master/c-seg-zip.rb +132 -0
  95. data/lib/fairy/master/c-select.rb +27 -0
  96. data/lib/fairy/master/c-sort.rb +108 -0
  97. data/lib/fairy/master/c-there.rb +57 -0
  98. data/lib/fairy/master/c-wc.rb +232 -0
  99. data/lib/fairy/master/job-interpriter.rb +19 -0
  100. data/lib/fairy/master/scheduler.rb +24 -0
  101. data/lib/fairy/master.rb +329 -0
  102. data/lib/fairy/node/addins.rb +19 -0
  103. data/lib/fairy/node/p-barrier.rb +95 -0
  104. data/lib/fairy/node/p-basic-group-by.rb +252 -0
  105. data/lib/fairy/node/p-direct-product.rb +153 -0
  106. data/lib/fairy/node/p-exec.rb +30 -0
  107. data/lib/fairy/node/p-filter.rb +363 -0
  108. data/lib/fairy/node/p-find.rb +111 -0
  109. data/lib/fairy/node/p-group-by.rb +1534 -0
  110. data/lib/fairy/node/p-here.rb +21 -0
  111. data/lib/fairy/node/p-identity.rb +24 -0
  112. data/lib/fairy/node/p-inject.rb +127 -0
  113. data/lib/fairy/node/p-input-file.rb +108 -0
  114. data/lib/fairy/node/p-input-iota.rb +39 -0
  115. data/lib/fairy/node/p-input-local-file.rb +61 -0
  116. data/lib/fairy/node/p-input-varray.rb +26 -0
  117. data/lib/fairy/node/p-io-filter.rb +28 -0
  118. data/lib/fairy/node/p-map.rb +40 -0
  119. data/lib/fairy/node/p-merger-group-by.rb +48 -0
  120. data/lib/fairy/node/p-output-file.rb +104 -0
  121. data/lib/fairy/node/p-output-local-file.rb +14 -0
  122. data/lib/fairy/node/p-output-null.rb +32 -0
  123. data/lib/fairy/node/p-output-varray.rb +41 -0
  124. data/lib/fairy/node/p-seg-join.rb +82 -0
  125. data/lib/fairy/node/p-seg-map.rb +34 -0
  126. data/lib/fairy/node/p-seg-split.rb +61 -0
  127. data/lib/fairy/node/p-seg-zip.rb +79 -0
  128. data/lib/fairy/node/p-select.rb +40 -0
  129. data/lib/fairy/node/p-single-exportable.rb +90 -0
  130. data/lib/fairy/node/p-sort.rb +195 -0
  131. data/lib/fairy/node/p-task.rb +113 -0
  132. data/lib/fairy/node/p-there.rb +44 -0
  133. data/lib/fairy/node/p-wc.rb +266 -0
  134. data/lib/fairy/node.rb +187 -0
  135. data/lib/fairy/processor.rb +510 -0
  136. data/lib/fairy/share/base-app.rb +114 -0
  137. data/lib/fairy/share/block-source.rb +234 -0
  138. data/lib/fairy/share/conf.rb +396 -0
  139. data/lib/fairy/share/debug.rb +21 -0
  140. data/lib/fairy/share/encoding.rb +17 -0
  141. data/lib/fairy/share/fast-tempfile.rb +93 -0
  142. data/lib/fairy/share/file-place.rb +176 -0
  143. data/lib/fairy/share/hash-1.rb +20 -0
  144. data/lib/fairy/share/hash-md5.rb +28 -0
  145. data/lib/fairy/share/hash-murmur.rb +69 -0
  146. data/lib/fairy/share/hash-rb18.rb +20 -0
  147. data/lib/fairy/share/hash-simple-hash.rb +28 -0
  148. data/lib/fairy/share/inspector.rb +16 -0
  149. data/lib/fairy/share/lc/exceptions.rb +82 -0
  150. data/lib/fairy/share/lc/ja/exceptions.rb +81 -0
  151. data/lib/fairy/share/locale.rb +17 -0
  152. data/lib/fairy/share/log.rb +215 -0
  153. data/lib/fairy/share/pool-dictionary.rb +53 -0
  154. data/lib/fairy/share/port-marshaled-queue.rb +347 -0
  155. data/lib/fairy/share/port.rb +1697 -0
  156. data/lib/fairy/share/reference.rb +45 -0
  157. data/lib/fairy/share/stdout.rb +56 -0
  158. data/lib/fairy/share/tr.rb +16 -0
  159. data/lib/fairy/share/varray.rb +147 -0
  160. data/lib/fairy/share/vfile.rb +183 -0
  161. data/lib/fairy/version.rb +8 -0
  162. data/lib/fairy.rb +206 -0
  163. data/sample/grep.rb +46 -0
  164. data/sample/ping.rb +19 -0
  165. data/sample/sort.rb +102 -0
  166. data/sample/wordcount.rb +61 -0
  167. data/spec/README +12 -0
  168. data/spec/fairy1_spec.rb +31 -0
  169. data/spec/fairy2_spec.rb +42 -0
  170. data/spec/fairy3_spec.rb +126 -0
  171. data/spec/fairy4_spec.rb +63 -0
  172. data/spec/fairy5_spec.rb +45 -0
  173. data/spec/fairy6_spec.rb +52 -0
  174. data/spec/fairy7_spec.rb +58 -0
  175. data/spec/fairy8_spec.rb +48 -0
  176. data/spec/mkdat.rb +148 -0
  177. data/spec/run_all.sh +65 -0
  178. data/test/testc.rb +7111 -0
  179. data/tools/cap_recipe/Capfile +144 -0
  180. data/tools/cap_recipe/cluster.yml.sample +14 -0
  181. data/tools/fairy_perf_graph.rb +444 -0
  182. data/tools/git-tag +44 -0
  183. data/tools/log-analysis.rb +62 -0
  184. data/tools/svn-ls-diff +38 -0
  185. data/tools/svn-tags +37 -0
  186. metadata +298 -0
data/tools/git-tag ADDED
@@ -0,0 +1,44 @@
1
+ #!/usr/local/bin/ruby
2
+ #
3
+ # svn-tags -
4
+ # $Release Version: $
5
+ # $Revision: 1.1 $
6
+ # $Date: 1997/08/08 00:57:08 $
7
+ # by Keiju ISHITSUKA
8
+ #
9
+ # --
10
+ #
11
+ #
12
+ #
13
+
14
+ @RCS_ID='-$Id: $-'
15
+
16
+ VERSION_FILE = "lib/fairy/version.rb"
17
+
18
+ tag = ARGV[0]
19
+ unless /^v?([0-9.]+-[0-9]+)(-.*)?$/ =~ tag
20
+ raise "バージョン形式が間違っています(#{tag})"
21
+ end
22
+
23
+ ver = $1
24
+ rest = $2
25
+ if rest =~ /^-dev(-[0-9]+)?/
26
+ ver += "-dev"
27
+ ver += $1 if $1
28
+ end
29
+
30
+ File.open(VERSION_FILE, "w") do |io|
31
+ io << "#\n"
32
+ io << "# Don't modified this file.\n"
33
+ io << "# This file is auto generation. \n"
34
+ io << "#\n"
35
+ io << "module Fairy\n"
36
+ io << " Version = \"#{ver}\"\n"
37
+ io << "end\n"
38
+ io << "\n"
39
+ end
40
+
41
+ system("git commit -m 'version: #{ver}' #{VERSION_FILE}")
42
+
43
+ system("git tag #{ARGV[0]}")
44
+
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: UTF-8
3
+
4
+ require "time"
5
+
6
+ module Fairy
7
+
8
+ class LogAnalyzer
9
+
10
+ def self.analyze(input = ARGF)
11
+ analyzer = self.new(input)
12
+ analyzer.compile
13
+ analyzer.analyze
14
+ end
15
+
16
+ def initialize(input)
17
+ @input = input
18
+ @events = {}
19
+ end
20
+
21
+ PAT = /([0-9\/]+)\s+([0-9:.]+)\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s([^#]+)#([^:]+):\s+(.*)$/
22
+
23
+ def compile
24
+ @input.each{|line|
25
+ next unless line =~ /(START|FINISH)\s+(PROCESSING|EXPORT|IMPORT|STORE)/
26
+ line.chomp!
27
+ line =~ PAT
28
+ date, time, host, process, file, object, method, mes = $1, $2, $3, $4, $5, $6, $7, $8
29
+ uuid = [host, process, object].join(" ")
30
+
31
+ abs_time = Time.parse(date+" "+time)
32
+ mes =~ /(START|FINISH)\s+(PROCESSING|EXPORT|IMPORT|STORE)/
33
+ @events[uuid] ||= []
34
+ @events[uuid].push [$2, $1, abs_time]
35
+ }
36
+ end
37
+
38
+ def analyze
39
+ for k, values in @events
40
+ case values.first[0]
41
+ when "STORE"
42
+ time = 0
43
+ values.each_slice(2) do |start, finish|
44
+ time += finish[2]-start[2]
45
+ end
46
+ puts "#{k}, #{values.first[0]}, , , #{time}"
47
+
48
+ else
49
+ st = values.find{|v| v[1] == "START"}
50
+ fn = values.find{|v| v[1] == "FINISH"}
51
+
52
+ puts "#{k}, #{st[0]}, #{st[2]}, #{fn[2]}, #{fn[2] - st[2]}"
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ Fairy::LogAnalyzer.analyze
60
+
61
+
62
+
data/tools/svn-ls-diff ADDED
@@ -0,0 +1,38 @@
1
+ #!/usr/local/bin/ruby
2
+ #
3
+ # svn-ls-diff -
4
+ # $Release Version: $
5
+ # $Revision: 1.1 $
6
+ # $Date: 1997/08/08 00:57:08 $
7
+ # by Keiju ISHITSUKA
8
+ #
9
+ # --
10
+ #
11
+ #
12
+ #
13
+
14
+ @RCS_ID='-$Id: $-'
15
+ require "find"
16
+
17
+ svn_files = nil
18
+ IO::popen("svn ls -rHEAD -R") do |io|
19
+ svn_files = io.collect{|f| f.chomp}
20
+ end
21
+
22
+ files = []
23
+ Find.find(".") do |l|
24
+ path = l[2..-1]
25
+ if /.*\.rb$/ =~ path
26
+ files.push path
27
+ end
28
+ end
29
+
30
+ puts files.sort - svn_files.sort
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
data/tools/svn-tags ADDED
@@ -0,0 +1,37 @@
1
+ #!/usr/local/bin/ruby
2
+ #
3
+ # svn-tags -
4
+ # $Release Version: $
5
+ # $Revision: 1.1 $
6
+ # $Date: 1997/08/08 00:57:08 $
7
+ # by Keiju ISHITSUKA
8
+ #
9
+ # --
10
+ #
11
+ #
12
+ #
13
+
14
+ @RCS_ID='-$Id: $-'
15
+
16
+ tag = ARGV[0]
17
+ unless /^v([0-9.]+[0-9]+)(-.*)?$/ =~ tag
18
+ raise "バージョン形式が間違っています(#{tag})"
19
+ end
20
+
21
+ ver = $1
22
+
23
+ File.open("version.rb", "w") do |io|
24
+ io << "#\n"
25
+ io << "# Don't modified this file.\n"
26
+ io << "# This file is auto generation. \n"
27
+ io << "#\n"
28
+ io << "module Fairy\n"
29
+ io << " Version = \"#{ver}\"\n"
30
+ io << "end\n"
31
+ io << "\n"
32
+ end
33
+
34
+ system("svn ci -m 'version: #{ver}' version.rb")
35
+
36
+ system("svn copy . http://localhost/svn/repos/fairy/tags/#{ARGV[0]}")
37
+
metadata ADDED
@@ -0,0 +1,298 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fairy
3
+ version: !ruby/object:Gem::Version
4
+ hash: 7
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 6
9
+ - 0
10
+ version: 0.6.0
11
+ platform: ruby
12
+ authors:
13
+ - Rakuten, Inc.
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-12-06 00:00:00 +09:00
19
+ default_executable: fairy
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: DeepConnect
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ - 4
33
+ - 6
34
+ version: 0.4.06
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: fiber-mon
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 27
46
+ segments:
47
+ - 0
48
+ - 1
49
+ - 0
50
+ version: 0.1.0
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ description: |
54
+ fairy is a framework for distributed processing in Ruby, originally
55
+ designed at Rakuten Institute of Technology with Yukihiro Matsumoto,
56
+ the founder of Ruby.
57
+
58
+ Although fairy was inspired by MapReduce model, a well-known
59
+ programming model for distributed processing, it's more flexible and
60
+ suitable for wider use. That's due to fairy's programming model,
61
+ called filter IF, and various built-in filters.
62
+
63
+ fairy is implemented in Ruby and inherits its high productivity and
64
+ simplicity. fairy's API is quite similar to Ruby. Therefore most
65
+ programmers who know Ruby can easily understand and use it.
66
+
67
+ email: hajime.masuda@mail.rakuten.co.jp
68
+ executables:
69
+ - fairy
70
+ - fairy-cat
71
+ - fairy-cp
72
+ - fairy-rm
73
+ extensions: []
74
+
75
+ extra_rdoc_files: []
76
+
77
+ files:
78
+ - Makefile
79
+ - README
80
+ - LICENSE
81
+ - fairy.gemspec
82
+ - lib/fairy.rb
83
+ - spec/run_all.sh
84
+ - bin/fairy
85
+ - bin/fairy-cat
86
+ - bin/fairy-cp
87
+ - bin/fairy-rm
88
+ - lib/fairy/share/debug.rb
89
+ - lib/fairy/share/stdout.rb
90
+ - lib/fairy/share/conf.rb
91
+ - lib/fairy/share/pool-dictionary.rb
92
+ - lib/fairy/share/port.rb
93
+ - lib/fairy/share/reference.rb
94
+ - lib/fairy/share/hash-rb18.rb
95
+ - lib/fairy/share/block-source.rb
96
+ - lib/fairy/share/encoding.rb
97
+ - lib/fairy/share/vfile.rb
98
+ - lib/fairy/share/tr.rb
99
+ - lib/fairy/share/file-place.rb
100
+ - lib/fairy/share/hash-md5.rb
101
+ - lib/fairy/share/hash-simple-hash.rb
102
+ - lib/fairy/share/hash-murmur.rb
103
+ - lib/fairy/share/log.rb
104
+ - lib/fairy/share/lc/exceptions.rb
105
+ - lib/fairy/share/lc/ja/exceptions.rb
106
+ - lib/fairy/share/port-marshaled-queue.rb
107
+ - lib/fairy/share/base-app.rb
108
+ - lib/fairy/share/varray.rb
109
+ - lib/fairy/share/locale.rb
110
+ - lib/fairy/share/inspector.rb
111
+ - lib/fairy/share/fast-tempfile.rb
112
+ - lib/fairy/share/hash-1.rb
113
+ - lib/fairy/master.rb
114
+ - lib/fairy/processor.rb
115
+ - lib/fairy/node.rb
116
+ - lib/fairy/node/p-seg-split.rb
117
+ - lib/fairy/node/p-task.rb
118
+ - lib/fairy/node/p-input-iota.rb
119
+ - lib/fairy/node/p-there.rb
120
+ - lib/fairy/node/p-direct-product.rb
121
+ - lib/fairy/node/p-wc.rb
122
+ - lib/fairy/node/p-map.rb
123
+ - lib/fairy/node/p-input-file.rb
124
+ - lib/fairy/node/p-basic-group-by.rb
125
+ - lib/fairy/node/p-seg-join.rb
126
+ - lib/fairy/node/p-inject.rb
127
+ - lib/fairy/node/p-output-file.rb
128
+ - lib/fairy/node/p-group-by.rb
129
+ - lib/fairy/node/p-identity.rb
130
+ - lib/fairy/node/p-single-exportable.rb
131
+ - lib/fairy/node/p-barrier.rb
132
+ - lib/fairy/node/p-seg-zip.rb
133
+ - lib/fairy/node/p-output-local-file.rb
134
+ - lib/fairy/node/p-here.rb
135
+ - lib/fairy/node/p-merger-group-by.rb
136
+ - lib/fairy/node/p-find.rb
137
+ - lib/fairy/node/p-input-varray.rb
138
+ - lib/fairy/node/p-filter.rb
139
+ - lib/fairy/node/p-exec.rb
140
+ - lib/fairy/node/p-seg-map.rb
141
+ - lib/fairy/node/p-output-null.rb
142
+ - lib/fairy/node/p-output-varray.rb
143
+ - lib/fairy/node/p-sort.rb
144
+ - lib/fairy/node/p-input-local-file.rb
145
+ - lib/fairy/node/addins.rb
146
+ - lib/fairy/node/p-io-filter.rb
147
+ - lib/fairy/node/p-select.rb
148
+ - lib/fairy/client/junction.rb
149
+ - lib/fairy/client/basic-group-by.rb
150
+ - lib/fairy/client/output.rb
151
+ - lib/fairy/client/input-iota.rb
152
+ - lib/fairy/client/io-filter.rb
153
+ - lib/fairy/client/sort19.rb
154
+ - lib/fairy/client/there.rb
155
+ - lib/fairy/client/seg-zip.rb
156
+ - lib/fairy/client/group-by.rb
157
+ - lib/fairy/client/top_n_into_roma.rb
158
+ - lib/fairy/client/output-varray.rb
159
+ - lib/fairy/client/wc.rb
160
+ - lib/fairy/client/seg-join.rb
161
+ - lib/fairy/client/input-file.rb
162
+ - lib/fairy/client/find.rb
163
+ - lib/fairy/client/roma-put.rb
164
+ - lib/fairy/client/sort.rb
165
+ - lib/fairy/client/map.rb
166
+ - lib/fairy/client/direct-product.rb
167
+ - lib/fairy/client/output-file.rb
168
+ - lib/fairy/client/sort18.rb
169
+ - lib/fairy/client/select.rb
170
+ - lib/fairy/client/input-local-file.rb
171
+ - lib/fairy/client/filter.rb
172
+ - lib/fairy/client/output-null.rb
173
+ - lib/fairy/client/seg-split.rb
174
+ - lib/fairy/client/roma.rb
175
+ - lib/fairy/client/input.rb
176
+ - lib/fairy/client/inject.rb
177
+ - lib/fairy/client/equijoin.rb
178
+ - lib/fairy/client/here.rb
179
+ - lib/fairy/client/exec.rb
180
+ - lib/fairy/client/input-varray.rb
181
+ - lib/fairy/client/merge-group-by.rb
182
+ - lib/fairy/client/addins.rb
183
+ - lib/fairy/client/seg-map.rb
184
+ - lib/fairy/client/barrier.rb
185
+ - lib/fairy/client/output-local-file.rb
186
+ - lib/fairy/client/seg-shuffle.rb
187
+ - lib/fairy/client/cat.rb
188
+ - lib/fairy/logger.rb
189
+ - lib/fairy/master/c-select.rb
190
+ - lib/fairy/master/c-merge-group-by.rb
191
+ - lib/fairy/master/c-input.rb
192
+ - lib/fairy/master/c-exec.rb
193
+ - lib/fairy/master/c-direct-product.rb
194
+ - lib/fairy/master/c-input-file.rb
195
+ - lib/fairy/master/c-output.rb
196
+ - lib/fairy/master/c-cat.rb
197
+ - lib/fairy/master/c-group-by.rb
198
+ - lib/fairy/master/c-output-null.rb
199
+ - lib/fairy/master/job-interpriter.rb
200
+ - lib/fairy/master/scheduler.rb
201
+ - lib/fairy/master/c-seg-zip.rb
202
+ - lib/fairy/master/c-input-varray.rb
203
+ - lib/fairy/master/c-basic-group-by.rb
204
+ - lib/fairy/master/c-seg-shuffle.rb
205
+ - lib/fairy/master/c-output-local-file.rb
206
+ - lib/fairy/master/c-seg-join.rb
207
+ - lib/fairy/master/c-output-varray.rb
208
+ - lib/fairy/master/c-output-file.rb
209
+ - lib/fairy/master/c-wc.rb
210
+ - lib/fairy/master/c-inject.rb
211
+ - lib/fairy/master/c-there.rb
212
+ - lib/fairy/master/atom.rb
213
+ - lib/fairy/master/c-inputtable19.rb
214
+ - lib/fairy/master/c-seg-split.rb
215
+ - lib/fairy/master/c-map.rb
216
+ - lib/fairy/master/c-input-iota.rb
217
+ - lib/fairy/master/c-barrier.rb
218
+ - lib/fairy/master/c-sort.rb
219
+ - lib/fairy/master/c-inputtable18.rb
220
+ - lib/fairy/master/c-here.rb
221
+ - lib/fairy/master/c-input-local-file.rb
222
+ - lib/fairy/master/c-filter.rb
223
+ - lib/fairy/master/c-find.rb
224
+ - lib/fairy/master/c-seg-map.rb
225
+ - lib/fairy/master/c-junction.rb
226
+ - lib/fairy/master/addins.rb
227
+ - lib/fairy/master/c-inputtable.rb
228
+ - lib/fairy/master/c-io-filter.rb
229
+ - lib/fairy/controller.rb
230
+ - lib/fairy/version.rb
231
+ - etc/fairy.conf.tmpl
232
+ - bin/subcmd/node
233
+ - bin/subcmd/controller
234
+ - bin/subcmd/inspector
235
+ - bin/subcmd/master
236
+ - bin/subcmd/processor
237
+ - ext/simple_hash/extconf.rb
238
+ - ext/simple_hash/simple_hash.c
239
+ - doc/programming-interface.rd
240
+ - doc/programming-interface.html
241
+ - spec/README
242
+ - spec/fairy8_spec.rb
243
+ - spec/fairy5_spec.rb
244
+ - spec/mkdat.rb
245
+ - spec/fairy4_spec.rb
246
+ - spec/fairy1_spec.rb
247
+ - spec/fairy6_spec.rb
248
+ - spec/fairy2_spec.rb
249
+ - spec/fairy3_spec.rb
250
+ - spec/fairy7_spec.rb
251
+ - sample/grep.rb
252
+ - sample/sort.rb
253
+ - sample/wordcount.rb
254
+ - sample/ping.rb
255
+ - test/testc.rb
256
+ - tools/git-tag
257
+ - tools/svn-tags
258
+ - tools/log-analysis.rb
259
+ - tools/cap_recipe/cluster.yml.sample
260
+ - tools/cap_recipe/Capfile
261
+ - tools/fairy_perf_graph.rb
262
+ - tools/svn-ls-diff
263
+ has_rdoc: true
264
+ homepage: http://code.google.com/p/fairy-prj/
265
+ licenses: []
266
+
267
+ post_install_message:
268
+ rdoc_options: []
269
+
270
+ require_paths:
271
+ - lib
272
+ required_ruby_version: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ hash: 3
278
+ segments:
279
+ - 0
280
+ version: "0"
281
+ required_rubygems_version: !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ">="
285
+ - !ruby/object:Gem::Version
286
+ hash: 3
287
+ segments:
288
+ - 0
289
+ version: "0"
290
+ requirements: []
291
+
292
+ rubyforge_project: fairy
293
+ rubygems_version: 1.3.7
294
+ signing_key:
295
+ specification_version: 3
296
+ summary: fairy is a framework for distributed processing in Ruby, originally designed at Rakuten Institute of Technology with Yukihiro Matsumoto, the founder of Ruby.
297
+ test_files:
298
+ - spec/run_all.sh