Performance/Meetings/2008 09

From Apache OpenOffice Wiki
< Performance‎ | Meetings
Revision as of 02:13, 15 December 2009 by Penny (Talk | contribs)

Jump to: navigation, search

Performance/Meetings/2008/09/25

Meeting Minutes
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000
Performance Project


Date: 2008/09/25
Time: 16:00– 17:00
Meeting No.:


Agenda:

(4:00:46 PM) liheng: hi,all
(4:01:23 PM) mhu: Hi liheng
(4:01:35 PM) yugq: hi
(4:02:03 PM) liheng: mhu:kuangliang and xiuzhi can't not attended this meeting,because xiuzhi have some other bussiness and kuangliang just got a bady last week
(4:02:16 PM) liangjun: hello all
(4:03:42 PM) mhu: okay, then we are complete?
(4:04:35 PM) liheng: Now yes, last person has been in ;)
(4:05:00 PM) liheng: Did you view the picture of Configmgr dividing phases?
(4:05:48 PM) mhu: yes, I have seen it, but not yet completely analyzed and understood. Can you / yuqg provide a short explanation?
(4:06:26 PM) yugq: mhu, yes.
(4:07:57 PM) yugq: we define the configmar performance as four parts(x1,x2,x3,x4).
(4:08:23 PM) mhu: yes
(4:09:41 PM) yugq: for example, x2 is defined as "data load/parse time from file", and we should add something to trace the log on some important classes such as TreeFactory.
(4:10:49 PM) mhu: okay, understood
(4:11:07 PM) yugq: the flow chart is a concept show to understand the every part more clearly .
(4:11:55 PM) mhu: yes, good
(4:11:55 PM) yugq: mhu, do you think these defines are good?
(4:12:28 PM) mhu: yes, in general it looks good (especially the graphic :-) )
(4:13:18 PM) yugq: If this kind of defines is suitable for our analyze, we can do like this to divide other performance issue.
(4:13:32 PM) mhu: what I am thinking about is how to sort out "independent variables" from "dependent variables" (i.e. root cause from observable effect)...
(4:14:31 PM) mhu: ...and what would be the measurable variable here, i.e. what exactly is "Y".
(4:15:12 PM) mhu: but yes, if it works out in this case, we should do similar for other performance issues, yes.
(4:15:37 PM) yugq: mhu, yes. It's a problem to define Y as a clear thing.
(4:15:59 PM) mhu: ...for example, could "Y" be the sum over the times for all config paths?
(4:16:11 PM) yugq: I think Y is just a concept thing, something like a describe?
(4:17:25 PM) mhu: oh, yes. of course it is a concept, but at some point you something concrete that is measurable.
(4:17:43 PM) mhu: s/you something/you need something/
(4:18:34 PM) yugq: Y may not a simple sum of the time measurement. Sometimes X1 and X2 could be parallel.
(4:19:42 PM) mhu: you mean parallel as in "executing in different threads" ?
(4:21:09 PM) yugq: no, parallel defined things, maybe excute not at the same time, or excute at different routines.
(4:23:19 PM) mhu: Hmm, maybe I do not yet understand. For me, Y and Xi really mean something like those oldfashioned variables in "y=f(x)", so the "x's" are the variables that "y" depends on by some function "f".
(4:23:44 PM) yugq: but I think Y is just another defined thing, we can of course define it as a sum of all the time measurement.
(4:24:36 PM) mhu: so, I understand your X2 and X4 as having a relationship that X2 depends on X4, or "X4=f(X2)".
(4:26:03 PM) mhu: hmm, that was wrong: I mean the other way round: X2=f(X4)
(4:26:21 PM) mhu: I should not type too fast :-(
(4:26:58 PM) mhu: so, what I am trying to say is...
(4:27:09 PM) yugq: mhu, yes. It's a mistake i undertook!
(4:28:17 PM) yugq: what i thought before is that Y is not a function, just a concept.
(4:28:53 PM) mhu: ...your picture is probably right in that X4 is a factor of X2, but what we still need to verify that it is an *important* factor, i.e. that the value of X2 is determined mostly by X4 and not by other, yet unknown, factors.
(4:30:06 PM) mhu: Y is not the function, but the value of a function F with proposed variables X1, .... X4. SO, maybe Y= X1*X2 + X3*X4 ?
(4:30:49 PM) mhu: that is just an example, the true F(...) may be something completely different.
(4:31:04 PM) yugq: yes.
(4:31:07 PM) mhu: ...and it may not even be totally understood.#
(4:31:48 PM) mhu: ...but we should be able to measure an effect on Y when we change some of the X's.
(4:32:27 PM) yugq: yes, I understand you now.
(4:33:37 PM) mhu: okay, I also think that I now understand your diagram.
(4:33:58 PM) yugq: we need an F to measure Y. like Y = F(x1,x2,x3), if x1 changes, Y should get changed.
(4:34:49 PM) mhu: I think it is a good diagram, and your X1 ... X4 may indeed be interesting partial measures for the performance of configmgr.
(4:35:00 PM) mhu: yes, that is what I wanted to say.
(4:35:24 PM) yugq: mhu, OK. I think we understand each other now. ;-)
(4:36:03 PM) liheng: mhu:what i understand, do you think every X must be in a serial?
(4:36:31 PM) mhu: we might not need to understand what exactly F is, but we should know how to measure its value Y.
(4:37:01 PM) mhu: liheng: with "serial", do you mean independent variable?
(4:37:12 PM) yugq: mhu, I think if X in a serial, it will be easier to measure Y.
(4:37:39 PM) mhu: I dont understand "serial", sorry.
(4:38:08 PM) liheng: not independent variable ...
(4:38:41 PM) yugq: I understand as do something in a sequential?
(4:39:08 PM) liheng: in a sequential process
(4:39:22 PM) yugq: :-D
(4:39:30 PM) mhu: maybe I understand...
(4:39:32 PM) liheng: maybe Y=X1+X2+...X3
(4:40:13 PM) liheng: all X would be execute one by one
(4:40:26 PM) mhu: no, I think that is not necessarily so. I your diagram we have X2 and X4 so that X2=f(X4), and that is just fine.
(4:40:54 PM) yugq: liheng, yes. If something like this, it will be easy to measure. And I think there will be more complex part exsist.
(4:41:07 PM) mhu: all these "factors" X can be pretty complex.
(4:42:13 PM) liheng: mhu:yes, and we must give out explain whew we define the complex factor
(4:42:53 PM) mhu: maybe, we are now back to my previous question of "maybe Y is the sum of all X1(which is for one path) for all paths" ?
(4:43:31 PM) mhu: so that we in fact have many X1 ? one for each path?
(4:44:22 PM) liheng: I think we can't make sure it
(4:44:36 PM) mhu: liheng: explain complex factor: yes; and your diagram is very good for that explanation.
(4:46:51 PM) liheng: I'm worry we can't make over all hotspot, that some case maybe more complex than this
(4:47:53 PM) yugq: mhu, there will be many paths in actual, and we can get a statistic data when we test X1.
(4:47:59 PM) mhu: I think, X1 (data search time from provider by path) is very interesting to look at: I think, what we want to achieve is something like minimize X1 on average of all path, or for the total of all paths, or reduce the variance in X1 for different pathes, ... What we want should determine what our Y is.
(4:49:02 PM) yugq: we can use statistic data to describe an X1.
(4:49:32 PM) mhu: yes, at least we need to measure / get statistics over X1.
(4:49:52 PM) yugq: and how to test X1 can be defined alone.
(4:49:59 PM) mhu: yes
(4:50:34 PM) mhu: that means, for our purposes, we take X1 as one of our important Y's.
(4:51:08 PM) liheng: Yes, It seems we must analyze X1 deeply
(4:51:37 PM) mhu: (X3 may be in the same category; X2 and X4 are more of the independent variable category, influencing X1 and X3).
(4:52:13 PM) mhu: yes, your diagram clearly shows that X1 is interesting to look at.
(4:53:44 PM) liheng: but,it just give us a sign maybe some performance problem in there
(4:54:18 PM) mhu: yes, that is where our understanding that X2 and X4 are the root causes comes in.
(4:54:43 PM) mhu: we know, that to improve in X1 we need to work on X2 and X4
(4:55:15 PM) mhu: so, X1 = f(X2, X4).
(4:55:25 PM) mhu: ...as the diagram says.
(4:55:55 PM) liheng: I have a ideal we can you this case to try our new test-tools and discuss with the result
(4:56:08 PM) liheng: maybe X1 is a subsystem alone:)
(4:56:15 PM) mhu: yes, that would be good.
(4:56:41 PM) mhu: yes, that is what thought also: X1 maybe our first Y to analyze
(4:58:13 PM) mhu: okay, I need to leave for the next meeting, sorry.
(4:58:21 PM) liheng: yes, we are just a big map of dependency of OOo's performance
(4:58:23 PM) liheng: :)
(4:58:46 PM) mhu: yes, that big map can be an end result.
(4:58:47 PM) liheng: okay, next week is our holiday:)
(4:58:56 PM) yugq: :)
(4:59:11 PM) mhu: yes, Peter Junge also sent an email explaining your holiday.
(4:59:39 PM) mhu: so, I wish you a good time, enjoy your holidays, see in 2 weeks.
(4:59:54 PM) mhu: s/see in/see you in/
(4:59:57 PM) liheng: so, we will get together at 10/9
(5:00:04 PM) mhu: yes
(5:00:19 PM) liheng: okay, bye,
(5:00:19 PM) mhu: bye, need to hurry now...


Performance/Meetings/2009/09/18

Meeting Minutes
IRC Meeting of Sun Microsystems (StarOffice) with RedFlag2000 and the Community ??
Performance Project


Date: 2009/08/18
Time: 16:03– 16:52
Meeting No.:


Agenda:

(4:03:57 PM) liheng: hi,all
(4:03:58 PM) liheng: :)
(4:04:07 PM) mhu1: hi
(4:04:16 PM) liangjun: hi,all
(4:04:16 PM) liheng: Sorry,I'm late...
(4:04:38 PM) liheng: another meeting take the long time:)
(4:04:50 PM) mhu1: Don't worry about being late, usually I am the one who is late :-)
(4:05:46 PM) liheng: today, Guoys can't attend this meeting, because he is just tranning several new perpons:)
(4:06:19 PM) liheng: mhu:Did you receive the mail about this IRC
(4:06:21 PM) mhu1: well, training new people is good also, I think
(4:06:33 PM) mhu1: yes, I have read your email
(4:07:38 PM) liheng: please help us to find your code of T-Test, we will start to create analyzing tool
(4:08:51 PM) mhu1: yes, of course. If you give me a couple of minutes, I can look the code up....
(4:09:50 PM) liheng: Yes, today we have only one topic, what is develpor want to see in test report
(4:16:13 PM) mhu1: okay, I have found the code, but I need a couple more minutes, stay tuned ...
(4:17:14 PM) liheng: okay, maybe we can take a easy meeting today:)
(4:21:23 PM) mhu1: okay, I have sent the code attached as reply to your email. So, you should have it soon ...
(4:21:52 PM) liheng: Thank you every much!
(4:21:53 PM) liheng: ;)
(4:22:01 PM) mhu1: The code is somewhere between 3 and 5 years old, so I don't exactly remember all details.
(4:22:35 PM) mhu1: but the main function contains a "unit test" like example how to use it.
(4:23:12 PM) liheng: we study it first, for problems about it we discuss them via Email
(4:23:20 PM) mhu1: okay.
(4:24:16 PM) liheng: What do you think about what is develpor want to see in test reports?
(4:24:22 PM) mhu1: You were asking "what developer want to see in test report..." ...
(4:24:30 PM) liheng: yes :)
(4:24:38 PM) mhu1: (I just wanted to prepare an answer ...)
(4:25:15 PM) mhu1: So, what I think is most obvious, is "any change to better or worse".
(4:25:42 PM) mhu1: next question would be "change in what?"...
(4:27:09 PM) mhu1: and these what (the "Y" in our math. discussion, or "macroscopic observable values") can be "startup time", "document load time", "total memory consumption", or ...
(4:27:33 PM) liheng: any change to better or worse abou
(4:28:25 PM) mhu1: yes?
(4:28:27 PM) liheng: What i understand you is we must find and show some macroscopic values change
(4:28:56 PM) liheng: "(4:27:33 PM) liheng: any change to better or worse abou " is a worry type:(
(4:29:19 PM) mhu1: that is the "high level view" only, of course. But I think this what most people (definitely users) are interested in.
(4:30:13 PM) mhu1: okay, here are some thoughts...
(4:30:37 PM) liheng: yes, and then we must show the detail of change by X (microcosmic values)
(4:32:49 PM) mhu1: you developer work on some root cause "X" and work hard to improve the performance / time consumption / memory consumption of "X", and of course you expect it will improve the overall "Y" = "startup performance" (if Y=f(X)). So your "true" interest is to see that "Y" has indeed improved when you have been improving "X".
(4:33:43 PM) mhu1: ...and for you developer, of course changes in "X" are also important to be reported.
(4:33:52 PM) liheng: and, if you want to optimizing the code,do you have a prediction of effect
(4:34:22 PM) mhu1: ...but maybe not so important to other developers how are not working on "your X" but on "their X".
(4:37:34 PM) liheng: but I think we must show all X change to represent what has been really changed
(4:39:21 PM) mhu1: I was only thinking about the level of detail; yes, maybe it is also important to show to all what X have been worked on.
(4:39:55 PM) liheng: At first we can make some template for reports that mainly show the statistical results of macroscope value :)
(4:40:18 PM) liheng: And append more details step by step
(4:41:01 PM) mhu1: yes, that would be the place to start (like the CWS performance measurements that Malte did).
(4:41:50 PM) mhu1: and, it would show us, if we have the process under control (that is can do reliable and repeatable measurements).
(4:41:56 PM) liheng: To show all X is in order to show which changes cancel out your improving
(4:42:41 PM) mhu1: Ah, yes that is an important point; I think I tend to forget about that; you are right :-)
(4:43:55 PM) liheng: okay, that all for me:)
(4:44:43 PM) mhu1: okay; can you send a note when you have received my email with the source code?
(4:45:35 PM) liheng: yes, "DataAnalysis.java"
(4:45:36 PM) liheng: :)
(4:46:01 PM) mhu1: okay, so you already have it, that is good. Have fun with it.
(4:46:29 PM) liheng: By the way, the work of improving of configmgr is all in well:)
(4:46:42 PM) mhu1: it is stolen from the book "Numerical Recipes (Fortran edition)".
(4:47:24 PM) mhu1: oh yes, I wanted to ask that for some time; good to hear that you are making progress with configmgr.
(4:47:25 PM) liheng: I will try to find that book
(4:48:38 PM) mhu1: the book should not be necessary, only if you to understand the details of "incomplete gamma functions" and such; try to study the Main() function, how the T-Test is used, that should be sufficent.
(4:49:35 PM) mhu1: or a book about statistical data analysis (why you want to use a T-Test, and what it tells you)
(4:49:40 PM) liheng: The first vesion will be brought out in 3~4 weeks, becouse long holiday of National Day;)
(4:50:11 PM) mhu1: okay. When is that national holiday?
(4:50:58 PM) liheng: Sep 28th to Oct 5th:)
(4:51:18 PM) mhu1: Ah, okay. Wish you a good time then.
(4:51:38 PM) liheng: thank you and see you next week
(4:51:55 PM) mhu1: yes, see you next week. Bye all.
(4:52:18 PM) liheng: bye


Go back

Personal tools