Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1043041
  • 博文数量: 61
  • 博客积分: 958
  • 博客等级: 准尉
  • 技术积分: 2486
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-21 13:36
文章分类
文章存档

2020年(2)

2019年(1)

2018年(5)

2017年(7)

2015年(2)

2014年(4)

2012年(10)

2011年(30)

分类: LINUX

2018-04-29 11:47:07

很高兴听Paul说:RCU相关专利可以用于HOT-POT操作系统 :-)
Hello baoyou!
hello, ylu
Hello, baoyou/scxby!
hello paul!
Recently I heard from baoyou that he is working on his own OS - Hot Pot OS.
Nice!!!  If I may ask, what is Hot Pot OS's claim to fame?
BTW Hot Pot is the famous food in Sichuan.
I have not been to Sichuan, but I have had Hot Pot at Chinese restaurants elsewhere, and liked it.  :-)
I will publish one ugly version next month.
Sounds good!  For Internet of Things, or some other application area?
It's For Internet of Things
Cool!  Very popular area, and many different types of requirements -- small memory, networking, ...
I only saw a few live demo of Baoyou's Hot Pot OS, eager to look at the actual code soon.
* georgejguo (~dongtaigu@1.180.209.165) 加入了 #perfbook
Looking forward to hearing more about it!
* hyde (~hyde@58.100.181.16) 加入了 #perfbook
WHO
Hello hyde!
But of course my first question would be whether Hot Pot OS is single-CPU (as in microcontrollers) or for multicore systems.
 Hello, hyde!
Hello
 I'm not good at English.
You are better at English than I am at Chinese!  ;-)
  Hot Pot OS is for multicore systems
One reader want to ask Paul a question, my translation of his question is "Dear Paul, do you know why Linux made a huge amount of changes in memory barriers in 2017 release?".
Very cool!
My bad, he means in the 2017 release of your book.
ylu: There have been a lot of small changes recently.  Getting rid of smp_read_barrier_depends(), getting rid of spin_unlock_wait(), some adjustment of smp_mb__{before,after}*(), and so on.
hi, paul, can i use RCU in hot-pot OS ?
Ah!  I wrote that chapter in something like 2007, and it was very old and outdated.  The rewrite was long overdue.  There has been a lot learned since then, so I finally got around to rewriting it.
if hot-pos publish with GPL
scxby: Yes, though exactly which implementation you can use depends on the license you are using for Hot Pot OS.
 scxby: And although I cannot give legal advice, I can show some basic arithmetic, including the fact that 1997+20<2018.  ;-)
 scxby: So you could also just re-implement the basic RCU functionality, which, unless Hot Pot OS is to be used on systems with more than (say) 50 CPUs, should be more than sufficient.
hahaha
 Actually I'm thinking use the idea of RCU to implement MVCC in the database project I'm working on.
scxby: Some advanced features of Linux-kernel RCU are still covered, but are not needed for more specialized operating systems.  For example, most of RCU in the Linux kernel was not needed in Sequent's old DYNIX/ptx proprietary UNIX OS.
 ylu: One approach if this is in userspace is to just use userspace RCU.  http://liburcu.org or install liburcu on most recent Linux distros.
but some patents of RCU owned by IBM, any troubles are there?
ylu: It is rumored that some proprietary databases use something sort of like RCU for MVCC.
Though I don't see users use machines more than 50 cpus, but I know some of servers are really beefy.
scxby: For userspace RCU, no problem, because liburcu's LGPL license provides a license to any patents embodied by patches I submitted to liburcu.
 scxby: For a basic RCU, I can again point out that 1997+20<2018.
I heard rumors about MemSQL uses it, but I don't know whether the source is reliable or not.
Ah, It's great to hear that 1997+20<2018.
Yes it's in userspace.
No idea on MemSQL.  At least one DNS system does.  QEMU does.   And there was the presenter at CPPCON2017 who said something to the effect that if you have a large concurrent software project, you are already using RCU.  But you don't know that you are, and you are doing it wrong.  :-)
 ylu: Then I suggest userspace RCU.
Baoyou, is 1997 the year you start professional programming?
scxby: Yeah, my kids were not even in school when Jack and I started RCU, and now they are all out of college with jobs.  :-)
 It has been awhile.
* Guest24476 (~Bruce@202.105.193.99) 加入了 #perfbook
--- [Guest24476] ~Bruce@202.105.193.99
ylu, I start programming from 1995 on borland C++
HaHa,You are all the predecessors.
I probably shouldn't say that I started programming in 1973 using FORTRAN on punched cards on an IBM mainframe...
:)
Paul, you're a living legend.
Single CPU, but physically quite large.  Filled a room.  :-)
Hi, Bruce
ylu: You are too kind, but I do appreciate it.  :-)
 ylu: If you can say, what kind of database are you doing MVCC for?
* gavin (~vin@39-9-10-18.adsl.fetnet.net) 加入了 #perfbook
Hello, Bruce and gavin!
* BruceYang_CN (~WeiMingYa@202.105.193.105) 加入了 #perfbook
hello,  BruceYang_CN
hi paulmck, and hello everyone!
It's VoltDB, originates from one of the Micheal Stonebraker's project. It uses shared nothing architecture with all the data in memory.
 Hello gavin!
hello everyone!
Hell Bruce!
Ah, the NewSQL database!
* www243 (68e08455@gateway/web/freenode/ip.104.224.132.85) 加入了 #perfbook
ylu: So  you are thinking to make VoltDB have some sharing, or you are looking to a distributed-systems variant of RCU?
Yes, it support the serializable isolation level which is the highest level. But I am thinking to make it flexible to support lower levels like repeatable read, for user cases that don't require strict order.
But it should be exciting in databases, given that rotating mass storage is giving way to SSDs.
 Cool!
 Most of the NoSQL use cases don't require strict order, so there should be considerable scope for your work.
Yes, last month I was working on changing the fundamental assumption of VoltDB to make it actually shares replicated table within a node. It was used to be for every node it may contains multiple copies of the same replicated table.
That could result in excessive memory overhead even with today's large cheap memories!
 Did you get good savings of memory?
Yes, in the initial design back to 2009 I think every designer thought replicated tables would be small tables like a lookup table. But later we found some customers ran into very large replicated tables, especially Chinese customers.
I bet!  Especially if they needed a row for each Chinese citizen!  ;-)
Haha, yes, even each row is just 100 byte, it will be a 121 gigabyte table.
I would not want to replicate much of that too many times!
Another reader question, why you removed the RCU source code analysis chapter in your new perfbook release?
hi, paulmck  Parallel programming is very good, Can you recommend some rcu tutorials for people who are not very familiar with rcu? like me~
ylu: It is being moved to the Linux kernel in Documentation/RCU/Design/.  Seemed better to have it accompanying the actual source code.
And in the book, which Linux version the RCU code is based on?
 I mean the RCU code in the RCU code analysis chapter.
BruceYang_CN: There is the RCU portion of perfbook.  There is also the userspace RCU documentation ().  An overview article can be found in ACM Queue ().  And a whole lot more here:
 ylu: I would have to look.  It is quite old, which is one reason it was removed.
Thank you very much.
ylu: Way more than 5 years old!
This reader is reading the 2012 version of perfbook, that's why he is asking.
ylu: That would be either very early in the v3 series or very late in the v2.6 series, again, quite old.
 (v3.x and v2.6.x of the Linux kernel.)
 ylu: What is he wanting to learn about Linux-kernel RCU?
you know, the first chinese versioin is base on 2012 version. some reader is reading the old version.
scxby: Ah, got it!
--- [www243] Quit: Page closed
scxby: If they want more up-to-date documentation of Linux-kernel RCU, they can look here: https://www.kernel.org/doc/Documentation/RCU/Design/.
Great! :-)
Or download a recent Linux kernel and open the .html files below that directory in their browser.
 My problem is that I keep needing to change the implementation, so it is not easy to keep the documentation up to date.  ;-)
* xyh (2d4f43d3@gateway/web/freenode/ip.45.79.67.211) 加入了 #perfbook
hi paul
it is not a matter :-)
Hello, xyh!
 scxby: Well, I am in the process of making some large changes, and updating documentation is part of it.  Linus wants the three RCU flavors (RCU-bh, RCU-preempt, and RCU-sched) to be merged, and for some good reasons.  Working on it.  :-)
 But I should probably let you guys go fairly soon.  May First and all that.  ;-)
Just out of curiosity, how many hours do you spend on programming every day?
* haoyouab (~haoyouab@121.22.249.84) 加入了 #perfbook
ylu: It varies greatly.  Thursday and Friday were almost all programming, but Monday was mostly meetings, for example.
 More programming now than usual due to Linus's request.  No complaints here, though!  ;-)
cool
You still keep a healthy programming/meeting ratio, cool!
How about you guys?  How much of your days is programming?
Sounds good:) It's a good idea to merge three RCU flavors. A few chinese reader feel uncertain at this.
ylu: It does vary.  From 2000 to 2005 was mostly meetings.  But then the real-time project showed up.  ;-)
Look at my github contributions list, it seems like Wednesday is my most productive day of week, Monday is always the least :)
--- [xyh] Ping timeout: 260 seconds
ylu: ;-) ;-) ;-)
My guys is 14, and his mother take care him more, so i can program in whole day nearly.
ylu: Though I must confess that I am not doing well guessing your github ID.
 scxby: Very good!
My github ID is luyangco
 
Ah, there you are!  Wearing a red hat, even!  ;-)
Baoyou quit his full time job to work on the Hot Pot project.
 Haha, want to be a red hatter when I created the account.
ylu, but this things may be broken a few days. i'm not sure.
That is impressive!  Baoyou might need to take a break from coding from time to time to get people interested in Hot Pot, though.
* hyx (2d4f43d3@gateway/web/freenode/ip.45.79.67.211) 加入了 #perfbook
But ylu mentioned that you had done demos, so that is a good start.
scxby, many people except Hot-Pot Os
except = expect :)
ylu, ~:)...
bruce, glad to hear that :-)
Looking forward to hearing great things about Hot Pot OS!
paul, yes, it has more than 50,000 line codes and a good start.
Very good!
I want to say to everyone, please accept my apologies for my poor time arrangement. I forget today is the start of Labor's Day.
However, I should be moving along.  It was great chatting with you, and I wish you all a great May First Labor Day!
What is he wanting to learn about Linux-kernel RCU?   --> some chinese reader want to learn how to user-space.
 What is he wanting to learn about Linux-kernel RCU?   --> some chinese reader want to learn how to use RCU in user-space.
scxby: Ah, then the LWN series is a good place to start: .
Thanks everyone for spending your precious holiday time to chat with us.
There is also some documentation in the userspace RCU source code.
 And thank you for setting this up, ylu!
Don't mention it. You're always welcome.
And thank you, paul :-)
Thank you all and have a great day!
阅读(2244) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~