Kernel Newbies archive on lore.kernel.org
 help / color / Atom feed
* Software Prefetching using Machine learning
@ 2019-10-09  3:37 Irfan Ullah (울라 이르판)
  2019-10-09  7:44 ` Greg KH
  2019-10-09 19:08 ` Valdis Klētnieks
  0 siblings, 2 replies; 12+ messages in thread
From: Irfan Ullah (울라 이르판) @ 2019-10-09  3:37 UTC (permalink / raw)
  To: kernelnewbies

[-- Attachment #1.1: Type: text/plain, Size: 2123 bytes --]

Dear All,
Thanks in advance. I am a PhD candidate, and currently I have started
working on kernel development. My professor told me to implement this paper
<https://arxiv.org/abs/1803.02329>. In this paper authors have used machine
learning to predict the next missed addresses.They used instruction
addresses (program counters PCs), and corresponding missed addresses as
features to train the machine learning classifier.
As  a kernel newbie, I don't know how to initiate the implementation. I am
thinking to implement it in the following steps:
1- Saving instruction addresses (PCs), and corresponding missed addresses
2- Perform the machine learning
3-Do the prediction using machine learning classifier, and swap in/swap out
the pages.

I have some questions that
1) How can I directly store the missed addresses, and instruction addresses
from kernel handle_mm_fault() to a file?
 2) How can I use machine learning classifier in the kernel for predicting
addresses?
3) Is there any way to do the machine learning in the user space in python,
and then transfer  the classifier in bytes forms to the kernel space for
address predictions ?

Currently, I am stuck in getting the missed addresses by storing it into
the file. I am trying to send the missed addresses to the user space from
the kernel space, and store it into the file. I know that /proc, ioctl, and
netlink are some options to exchange data between  kernel and user spaces.
I have selected the netlink, and trying to customize this code
<https://gist.github.com/JeonghunLee/17db624665da91ee46c221b00e2b93f5> for
my task. I need some type of communication API which let me do exchange
anytype of data (integers, string, bytes, and may be structures to bind all
these types of data) between kernel space, and user space.
Any type of help,  and guidelines will be highly appreciated.
Thank you.

-- 
*Best Regards,*


*Mr. Irfan Ullah*
PhD Candidate
Data and Knowledge Engineering(DKE) Lab
Department of Computer Science and Engineering
Kyung Hee University, South Korea.
 +82-010-591-51651 <+82%2010-3877-8867>
  sahibzada.iu@gmail.com
 sahibzada_irfanullah

[-- Attachment #1.2: Type: text/html, Size: 4085 bytes --]

<div dir="ltr">Dear All, <div>Thanks in advance. I am a PhD candidate, and currently I have started working on kernel development. My professor told me to implement this <a href="https://arxiv.org/abs/1803.02329" target="_blank">paper</a>. In this paper authors have used machine learning to predict the next missed addresses.They used instruction addresses (program counters PCs), and corresponding missed addresses as features to train the machine learning classifier.</div><div>As  a kernel newbie, I don&#39;t know how to initiate the implementation. I am thinking to implement it in the following steps:</div><div>1- Saving instruction addresses (PCs), and corresponding missed addresses</div><div></div><div>2- Perform the machine learning</div><div>3-Do the prediction using machine learning classifier, and swap in/swap out the pages. <div><br></div><div>I have some questions that  </div><div>1) How can I directly store the missed addresses, and instruction addresses from kernel handle_mm_fault() to a file? </div><div> 2) How can I use machine learning classifier in the kernel for predicting addresses?    </div><div>3) Is there any way to do the machine learning in the user space in python, and then transfer  the classifier in bytes forms to the kernel space for address predictions ?</div><div><br></div><div>Currently, I am stuck in getting the missed addresses by storing it into the file. I am trying to send the missed addresses to the user space from the kernel space, and store it into the file. I know that /proc, ioctl, and netlink are some options to exchange data between  kernel and user spaces. I have selected the netlink, and trying to customize <a href="https://gist.github.com/JeonghunLee/17db624665da91ee46c221b00e2b93f5" target="_blank">this code</a> for my task. I need some type of communication API which let me do exchange anytype of data (integers, string, bytes, and may be structures to bind all these types of data) between kernel space, and user space.</div><div>Any type of help,  and guidelines will be highly appreciated. </div><div>Thank you.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><b style="color:rgb(39,78,19)">Best Regards,</b></div><div><b style="color:rgb(39,78,19)"><br></b></div><div><b style="color:rgb(39,78,19)"><br></b></div><div dir="ltr"><b style="color:rgb(39,78,19)">Mr. Irfan Ullah</b><br></div><div dir="ltr"><font color="#666666">PhD Candidate<br></font><div><font color="#666666">Data and Knowledge Engineering(DKE) Lab</font></div><div><font color="#666666">Department of Computer Science and Engineering</font></div><div><font color="#666666">Kyung Hee University, South Korea.</font></div><div><img src="http://teedayusa.com/media/wysiwyg/telephone_icon.gif" style="font-family:arial,sans-serif;font-size:12.8px"><span style="font-family:arial,sans-serif;font-size:12.8px"> </span><span style="font-family:arial,sans-serif;font-size:12.8px"><font color="#000000"><a href="tel:+82%2010-3877-8867" value="+821038778867" style="color:rgb(17,85,204)" target="_blank">+82-010-591-51651</a></font></span></div><div><div style="font-family:arial,sans-serif;font-size:12.8px"><img src="http://www.letsplaydodgeball.com/ndo/templates/dj-sport01/images/system/emailButton.png" style="font-size:12.8px"><span style="font-size:12.8px"><font color="#000000">  </font></span><span style="font-size:12.8px"><font color="#000000"><a href="mailto:sahibzada.iu@gmail.com" style="color:rgb(17,85,204)" target="_blank">sahibzada.iu@gmail.com</a></font></span></div><div><font face="arial, sans-serif"><span style="font-size:12.8px"><img src="https://docs.google.com/uc?export=download&amp;id=0B1-dY3m3XHQnOFBOM0NSODNoUUU&amp;revid=0B1-dY3m3XHQnUmp1c0ZWTGovR2pYbGZCenlOU29DY3ByQU5RPQ" style="font-size:12.8px"></span></font><span style="font-family:arial,sans-serif;font-size:12.8px"> </span><font face="arial, sans-serif"><span style="font-size:12.8px">sahibzada_irfanullah</span></font></div></div></div></div></div></div>

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, back to index

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-09  3:37 Software Prefetching using Machine learning Irfan Ullah (울라 이르판)
2019-10-09  7:44 ` Greg KH
2019-10-09 19:08 ` Valdis Klētnieks
2019-10-10  0:21   ` Ruben Safir
2019-10-10  0:24   ` Ruben Safir
2019-10-10  2:10     ` Irfan Ullah (울라 이르판)
2019-10-10  2:48       ` Irfan Ullah (울라 이르판)
2019-10-10  5:43         ` Valdis Klētnieks
2019-10-10  5:51         ` Kernel development tools (was Re: Software Prefetching using Machine learning) Valdis Klētnieks
2019-10-10  6:21           ` Irfan Ullah (울라 이르판)
2019-10-10  6:40             ` Greg KH
2019-10-10 13:22       ` Software Prefetching using Machine learning Rik van Riel

Kernel Newbies archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/kernelnewbies/0 kernelnewbies/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 kernelnewbies kernelnewbies/ https://lore.kernel.org/kernelnewbies \
		kernelnewbies@kernelnewbies.org
	public-inbox-index kernelnewbies

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernelnewbies.kernelnewbies


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git