fairy 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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