Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 813FC200C0E for ; Wed, 1 Feb 2017 20:31:45 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 7FD0F160B41; Wed, 1 Feb 2017 19:31:45 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 52CA5160B46 for ; Wed, 1 Feb 2017 20:31:44 +0100 (CET) Received: (qmail 21267 invoked by uid 500); 1 Feb 2017 19:31:43 -0000 Mailing-List: contact dev-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list dev@ignite.apache.org Received: (qmail 21252 invoked by uid 99); 1 Feb 2017 19:31:43 -0000 Received: from mail-relay.apache.org (HELO mail-relay.apache.org) (140.211.11.15) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Feb 2017 19:31:43 +0000 Received: from [192.168.75.230] (c-73-222-138-29.hsd1.ca.comcast.net [73.222.138.29]) by mail-relay.apache.org (ASF Mail Server at mail-relay.apache.org) with ESMTPSA id 29E731A002B for ; Wed, 1 Feb 2017 19:31:43 +0000 (UTC) From: Denis Magda Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Subject: Re: IGNITE-4212 (Ignite Benchmarking Simplification and Automation) Date: Wed, 1 Feb 2017 11:31:42 -0800 References: <123C8EE7-6020-44B8-9967-3D03CD3C6B99@apache.org> <13E253B1-626F-443E-A9F3-1594067FA837@apache.org> <58831D6B-45D1-4BA6-BA2D-DDD53393D94E@apache.org> To: dev@ignite.apache.org In-Reply-To: Message-Id: <282894A3-6872-4575-AA0A-7F87BFFE08BD@apache.org> X-Mailer: Apple Mail (2.3259) archived-at: Wed, 01 Feb 2017 19:31:45 -0000 Anton, I=E2=80=99m absolutely fine to make a single README if its instructions = will be identical for benchmarks binaries delivered in Ignite binary = releases and assembled with yardstick module directly. Oleg, is it = feasible? If to skip auto-generation idea then DEVNOTES split suggested by you is = the only option.=20 =E2=80=94 Denis > On Feb 1, 2017, at 1:45 AM, Anton Vinogradov = wrote: >=20 > Denis, >=20 > I don't like autogeneration. >=20 > In my view, we have to keep one README and ret rid of "Installation > instructions" inside it. > README should explain how to work with assembled yardstick. So, same = README > will be uses at sources and inside release assembly. >=20 > Also we have to have to split DEVNOTES to DEVNOTES and = DEVNOTES.standalone, > to explain how to assembly yardstick from sources. >=20 > Thoughts? >=20 > On Tue, Jan 31, 2017 at 9:18 PM, Denis Magda = wrote: >=20 >> Oleg, >>=20 >> Thanks for the clarification. >>=20 >> My opinion is that we should leave =E2=80=98modules/yardstick/README.tx= t=E2=80=99 and >> =E2=80=98modules/yardstick/DEVNOTES.txt=E2=80=99 either unchanged or = have only those >> instructions there that explain how to build and run benchmarks from >> =E2=80=98modules/yardstick=E2=80=99. This existing files can refer to = the sources and >> compiled benchmarks that are in Ignite binary releases but this = should be a >> couple of statements, no more. >>=20 >> As for the instructions related to the sources and binaries added to >> Ignite binaries, preferably they need to be added to auto-generated >> README.txt. *Anton*, is it feasible to do? >>=20 >> Finally, when apply the reviews notes please build and share Ignite >> binaries with your patch. Want to see the new project structure and = final >> version of the instructions. Presently I can=E2=80=99t merge your = changes due to >> some conflicts. >>=20 >> *Anton*, please review modifications in the build procedures. >>=20 >> =E2=80=94 >> Denis >>=20 >>> On Jan 31, 2017, at 3:12 AM, Oleg Ostanin = wrote: >>>=20 >>> Hi Denis, >>>=20 >>> Yes, we have included Ignite Yardstick source files with its pom.xml = in >>> Ignite binary release. "Building from standalone sources" is the = building >>> instruction for these source files. "Building from Ignite Sources" = is the >>> instruction for building Ignite Yardstick from `modules/yardstick` = in >>> Ignite source files. >>>=20 >>> On Tue, Jan 31, 2017 at 3:31 AM, Denis Magda = wrote: >>>=20 >>>> Hi Oleg, >>>>=20 >>>> Great progress, thanks for keep driving this! >>>>=20 >>>> I=E2=80=99ve left some minor notes in GitHub=E2=80=99s = pull-request. I have the >> following >>>> questions aside: >>>>=20 >>>> - What is the difference between "Building from standalone sources" = and >>>> "Building from Ignite Sources"? In my understanding, a user = downloads >>>> Apache Ignite release that has all the sources locally. >>>>=20 >>>> - I do remember we planned to add the benchmarks sources in a form = of a >>>> ready to be used project with its own pom.xml (similar to = examples). Did >>>> you put this task off? >>>>=20 >>>> =E2=80=94 >>>> Denis >>>>=20 >>>>> On Jan 27, 2017, at 2:13 AM, Oleg Ostanin >> wrote: >>>>>=20 >>>>> Hi! >>>>>=20 >>>>> I've changed the README.txt and DEVNOTES.txt files. Also added a = simple >>>>> config file for quick and easy start. Please take a look at them = and >> tell >>>>> me what you think. >>>>>=20 >>>>> https://github.com/apache/ignite/pull/1471 >>>>>=20 >>>>> On Wed, Dec 28, 2016 at 8:59 AM, Ilya Suntsov = >>>> wrote: >>>>>=20 >>>>>> Denis, >>>>>>=20 >>>>>> I think we can remove all configs except: >>>>>>=20 >>>>>> benchmark-multicast.properties >>>>>>=20 >>>>>> benchmark.properties >>>>>>=20 >>>>>> ignite-base-config.xml >>>>>>=20 >>>>>> ignite-localhost-config.xml >>>>>>=20 >>>>>> ignite-multicast-config.xml >>>>>>=20 >>>>>> 2016-12-28 2:49 GMT+03:00 Denis Magda : >>>>>>=20 >>>>>>> I would have only those configs that are useful. Ilya Suntsov, = basing >>>> on >>>>>>> your experience, please suggest which configs makes sense to = include >>>> into >>>>>>> every Ignite release. >>>>>>>=20 >>>>>>> Oleg, also please note that community decided to include not = only the >>>>>>> benchmarking binaries but the sources as well into every Apache >> Ignite >>>>>>> release. I=E2=80=99ve update the ticket before. Hope you = followed the >>>> discussion >>>>>> ;) >>>>>>> https://issues.apache.org/jira/browse/IGNITE-4212? >>>>>>> focusedCommentId=3D15765151&page=3Dcom.atlassian.jira. >>>>>>> plugin.system.issuetabpanels:comment-tabpanel#comment-15765151 >>>>>>>=20 >>>>>>> =E2=80=94 >>>>>>> Denis >>>>>>>=20 >>>>>>>> On Dec 27, 2016, at 5:35 AM, Oleg Ostanin = >>>>>> wrote: >>>>>>>>=20 >>>>>>>> I mean removing those configs from binary assembly, not from >>>>>> repository. >>>>>>>>=20 >>>>>>>> On Tue, Dec 27, 2016 at 4:28 PM, Oleg Ostanin < >> oostanin@gridgain.com> >>>>>>> wrote: >>>>>>>>=20 >>>>>>>>> Hello Igniters. >>>>>>>>> I think it would be better to remove some configuration files = from >>>>>>>>> benchmarks/config: >>>>>>>>>=20 >>>>>>>>> ignite-base-load-config.xml >>>>>>>>> ignite-cache-load-config.xml >>>>>>>>> ignite-failover-base-config.xml >>>>>>>>> ignite-failover-localhost-config.xml >>>>>>>>> benchmark-cache-load.properties >>>>>>>>> benchmark-cache-load-win.properties >>>>>>>>> benchmark-failover.properties >>>>>>>>>=20 >>>>>>>>> because those configs do not relate to any of performance = tests. >>>>>>>>>=20 >>>>>>>>> On Tue, Dec 20, 2016 at 11:24 PM, Denis Magda = >>>>>>> wrote: >>>>>>>>>=20 >>>>>>>>>> Summarized the discussion updating the ticket >>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-4212# < >>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-4212#> >>>>>>>>>>=20 >>>>>>>>>> =E2=80=94 >>>>>>>>>> Denis >>>>>>>>>>=20 >>>>>>>>>>> On Dec 19, 2016, at 12:26 PM, Dmitriy Setrakyan < >>>>>>> dsetrakyan@apache.org> >>>>>>>>>> wrote: >>>>>>>>>>>=20 >>>>>>>>>>> Sergey, >>>>>>>>>>>=20 >>>>>>>>>>> I am not sure I like "extras". I am voting for "benchmarks" >> folder >>>>>>> right >>>>>>>>>>> under the root folder. >>>>>>>>>>>=20 >>>>>>>>>>> D. >>>>>>>>>>>=20 >>>>>>>>>>> On Mon, Dec 19, 2016 at 12:07 PM, Sergey Kozlov < >>>>>> skozlov@gridgain.com >>>>>>>>=20 >>>>>>>>>>> wrote: >>>>>>>>>>>=20 >>>>>>>>>>>> Formatting has cut lines: >>>>>>>>>>>>=20 >>>>>>>>>>>> =E2=80=94 apache_ignite_root_folder >>>>>>>>>>>> =E2=80=94 bin >>>>>>>>>>>> =E2=80=94 examples >>>>>>>>>>>> =E2=80=94 extras >>>>>>>>>>>> =E2=80=94 benchmarks >>>>>>>>>>>> =E2=80=94 bin >>>>>>>>>>>> =E2=80=94 src (benchmarks sources with pom.xml) >>>>>>>>>>>> =E2=80=94 config >>>>>>>>>>>> =E2=80=94 libs (compiled benchmarks) >>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>> On Mon, Dec 19, 2016 at 11:04 PM, Sergey Kozlov < >>>>>>> skozlov@gridgain.com> >>>>>>>>>>>> wrote: >>>>>>>>>>>>=20 >>>>>>>>>>>>> Denis, >>>>>>>>>>>>>=20 >>>>>>>>>>>>> Mostly yes. But I look ahead and think that we may include = more >>>>>>>>>> things in >>>>>>>>>>>>> future than yardstick only. It's why I suggest something = like >>>>>> that: >>>>>>>>>>>>> =E2=80=94 apache_ignite_root_folder >>>>>>>>>>>>> =E2=80=94 bin >>>>>>>>>>>>> =E2=80=94 examples >>>>>>>>>>>>> =E2=80=94 extras >>>>>>>>>>>>> =E2=80=94 benchmarks >>>>>>>>>>>>> =E2=80=94 bin >>>>>>>>>>>>> =E2=80=94 src (benchmarks sources with pom.xml) >>>>>>>>>>>>> =E2=80=94 config >>>>>>>>>>>>> =E2=80=94 libs (compiled benchmarks) >>>>>>>>>>>>>=20 >>>>>>>>>>>>> On Mon, Dec 19, 2016 at 10:15 PM, Denis Magda < >> dmagda@apache.org >>>>>=20 >>>>>>>>>> wrote: >>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Well, if to refer to Dmitriy suggestion we can have the >>>> following >>>>>>>>>>>>>> structure >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> =E2=80=94 apache_ignite_root_folder >>>>>>>>>>>>>> =E2=80=94 examples >>>>>>>>>>>>>> =E2=80=94 bin >>>>>>>>>>>>>> =E2=80=94 benchmarks >>>>>>>>>>>>>> =E2=80=94 bin >>>>>>>>>>>>>> =E2=80=94 src (benchmarks sources with pom.xml) >>>>>>>>>>>>>> =E2=80=94 config >>>>>>>>>>>>>> =E2=80=94 libs (compiled benchmarks) >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> Sergey, will it cover all the use case you=E2=80=99ve met = previously? >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>> =E2=80=94 >>>>>>>>>>>>>> Denis >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> On Dec 19, 2016, at 9:59 AM, Sergey Kozlov < >>>>>> skozlov@gridgain.com> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> Yardstick requires own scripts/configurations (/bin, = /config, >>>>>>> /libs) >>>>>>>>>>>> and >>>>>>>>>>>>>>> creates work/logs directory under yardstick root. >>>>>> "libs/optional" >>>>>>> is >>>>>>>>>>>> for >>>>>>>>>>>>>>> optional modules but in general we can't say that for >>>> Yardstick. >>>>>>>>>> Also >>>>>>>>>>>> it >>>>>>>>>>>>>>> may break the current user understanding of = "libs/optional" >>>>>>>>>> directory >>>>>>>>>>>> as >>>>>>>>>>>>>>> place for additonal functionality activated by copying = in >>>>>> "libs". >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> On Mon, Dec 19, 2016 at 7:53 PM, Dmitriy Setrakyan < >>>>>>>>>>>>>> dsetrakyan@apache.org> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> I would be against using libs/optional or libs/ folder = for >>>>>>> anything >>>>>>>>>>>>>>>> benchmark related. I am also against adding any = yardstick >>>>>>> libraries >>>>>>>>>>>>>> without >>>>>>>>>>>>>>>> providing code. >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> In my view, if the community wants to include = benchmarks in >>>>>>>>>> releases, >>>>>>>>>>>>>> then >>>>>>>>>>>>>>>> we should add a "benchmarks" folder, which provides >> everything >>>>>>>>>>>>>> benchmark >>>>>>>>>>>>>>>> related, from code to all the dependent libraries, and >>>>>>>>>> documentation >>>>>>>>>>>>>>>> instructions. >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> D. >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>> On Mon, Dec 19, 2016 at 8:11 AM, Denis Magda < >>>>>> dmagda@apache.org> >>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> Actually, =E2=80=9Clibs/optional=E2=80=9D is already a = kind of extra for >> me. >>>>>> Why >>>>>>>>>> do >>>>>>>>>>>> we >>>>>>>>>>>>>>>>> need this new folder if =E2=80=9Clibs/optional=E2=80=9D = semantic works >> well? >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> Is there anyone else who is concerned about >> =E2=80=9Clibs/optional=E2=80=9D? >>>>>> If >>>>>>>>>>>>>> there=E2=80=99re >>>>>>>>>>>>>>>>> not, I would agree on this and get down to the >>>> implementation. >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>> =E2=80=94 >>>>>>>>>>>>>>>>> Denis >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> On Dec 19, 2016, at 1:10 AM, Sergey Kozlov < >>>>>>> skozlov@gridgain.com >>>>>>>>>>>=20 >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> Hi >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> What's about to introduce the new root folder called >>>> 'extras' >>>>>>>>>> with >>>>>>>>>>>>>>>>>> subfolder 'ignite-yardstick' and put there yardstick >>>>>> binaries? >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> On Sun, Dec 18, 2016 at 10:02 PM, Denis Magda < >>>>>>> dmagda@apache.org >>>>>>>>>>>=20 >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>> Dmitriy, >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>> Please have a look at IGNITE-4212 description ( >>>>>>>>>>>>>>>>> https://issues.apache.org/ >>>>>>>>>>>>>>>>>>> jira/browse/IGNITE-4212). >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>> The whole purpose of the ticket is to automate = benchmarks >>>>>>>>>>>> execution >>>>>>>>>>>>>>>> for >>>>>>>>>>>>>>>>>>> the end user for a specific Ignite release. Now = he/she >>>> needs >>>>>>> to >>>>>>>>>> go >>>>>>>>>>>>>>>>> through >>>>>>>>>>>>>>>>>>> a number of steps like build, configure, run = strictly >>>>>>> following >>>>>>>>>>>>>>>> lengthy >>>>>>>>>>>>>>>>>>> Yardstick guidance. >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>> Ideally, once a specific release is downloaded it = should >> be >>>>>>>>>>>> possible >>>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>>>>> run a concrete benchmark with a ready-to-use script. = The >>>>>>> script >>>>>>>>>>>>>> needs >>>>>>>>>>>>>>>>>>> benchmarks' lib which makes sense to put under >>>>>> =E2=80=9Clibs/optional=E2=80=9D >>>>>>>>>>>>>> folder. >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>> If someone wants to modify the source of an existed >>>>>> benchmark >>>>>>> or >>>>>>>>>>>>>> add a >>>>>>>>>>>>>>>>> new >>>>>>>>>>>>>>>>>>> one then he/she needs to follow existed Yardstick >> guidance. >>>>>>> So, >>>>>>>>>> no >>>>>>>>>>>>>>>> need >>>>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>>>>> release benchmarks=E2=80=99s sources as a part of = Ignite release. >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>> =E2=80=94 >>>>>>>>>>>>>>>>>>> Denis >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>> On Dec 18, 2016, at 7:08 AM, Dmitriy Setrakyan < >>>>>>>>>>>>>>>> dsetrakyan@apache.org> >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>> On Sun, Dec 18, 2016 at 2:53 AM, Oleg Ostanin < >>>>>>>>>>>>>> oostanin@gridgain.com >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>> Dmitriy, ignite-yardstick allows user to run = plenty of >>>>>>> useful >>>>>>>>>>>>>>>>> Yardstick >>>>>>>>>>>>>>>>>>>>> benchmarks, which can be used to check Ignite >>>> performance. >>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>> In that case, why would it be under the "libs" = folder at >>>>>> all? >>>>>>>>>> Do >>>>>>>>>>>> we >>>>>>>>>>>>>>>>>>> really >>>>>>>>>>>>>>>>>>>> need to include benchmarks into Ignite? If yes, = then I >>>>>> would >>>>>>>>>>>>>> create a >>>>>>>>>>>>>>>>>>>> benchmarks folder under "examples" and add all the >>>>>> benchmarks >>>>>>>>>>>>>> there. >>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>> On Fri, Dec 16, 2016 at 11:49 PM, Dmitriy = Setrakyan < >>>>>>>>>>>>>>>>>>> dsetrakyan@apache.org >>>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>>> Oleg, what does ignite-yardstick module do? >>>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>>> On Fri, Dec 16, 2016 at 12:37 AM, Oleg Ostanin < >>>>>>>>>>>>>>>>> oostanin@gridgain.com> >>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>>>> Hello Igniters! >>>>>>>>>>>>>>>>>>>>>>> I'm working on ticket IGNITE-4212 "Ignite >> Benchmarking >>>>>>>>>>>>>>>>> Simplification >>>>>>>>>>>>>>>>>>>>> and >>>>>>>>>>>>>>>>>>>>>>> Automation" and I'd like to ask your opinion = about >>>>>>>>>>>>>>>> ignite-yardstick: >>>>>>>>>>>>>>>>>>>>>> where >>>>>>>>>>>>>>>>>>>>>>> do you think is the most appropriate place to = put a >>>>>>> compiled >>>>>>>>>>>>>>>>>>>>>>> ignite-yardstick module in the apache-ignite = binary >>>>>>>>>> assembly? >>>>>>>>>>>> We >>>>>>>>>>>>>>>> can >>>>>>>>>>>>>>>>>>>>> put >>>>>>>>>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>>>>>>>>> in the libs/optional along with an others = optional >>>>>>>>>> libraries, >>>>>>>>>>>> or >>>>>>>>>>>>>>>> we >>>>>>>>>>>>>>>>>>> can >>>>>>>>>>>>>>>>>>>>>>> create a new directory named "tools" in the root >>>>>> directory >>>>>>>>>> and >>>>>>>>>>>>>> put >>>>>>>>>>>>>>>>>>>>>>> "ignite-yardstick" in it, or we can find another >>>>>> solution. >>>>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>>>> Best regards >>>>>>>>>>>>>>>>>>>>>>> Oleg >>>>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> Sergey Kozlov >>>>>>>>>>>>>>>>>> GridGain Systems >>>>>>>>>>>>>>>>>> www.gridgain.com >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Sergey Kozlov >>>>>>>>>>>>>>> GridGain Systems >>>>>>>>>>>>>>> www.gridgain.com >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>>=20 >>>>>>>>>>>>> -- >>>>>>>>>>>>> Sergey Kozlov >>>>>>>>>>>>> GridGain Systems >>>>>>>>>>>>> www.gridgain.com >>>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>>=20 >>>>>>>>>>>> -- >>>>>>>>>>>> Sergey Kozlov >>>>>>>>>>>> GridGain Systems >>>>>>>>>>>> www.gridgain.com >>>>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>=20 >>>>>>>=20 >>>>>>>=20 >>>>>>=20 >>>>>>=20 >>>>>> -- >>>>>> Ilya Suntsov >>>>>>=20 >>>>=20 >>>>=20 >>=20 >>=20