Advertisement
Guest User

Untitled

a guest
Dec 1st, 2015
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. * HotDrink and Graph visualizations
  2. * Using hotdrink and building an adapter for it to work with D3.
  3. * D3 works on HTML5 and SVGs, making it work with mobile as well.
  4. * Observables on both sides (Hotdrink and D3) and glue-code between them.
  5. * Examples of Dijkstra's algorithm, Knight's tour and Elastic Triangle expressed in a constraint system.
  6. * Github repo: TBD
  7. * We saw programs which take an entire constraint system as a parameter, and the generic algorithm it's running is that of the user interface.
  8. * A mobile web-crawler
  9. * Use of the webview is rather common in Android applications.
  10. * Android has a lot of malware.
  11. * Existing vulnerabilities in webviews allow some arbitrary code execution.
  12. * Need a tool to find malicious web servers targeting mobile devices: a crawler for the mobile-web.
  13. * Used a custom user agent for obvious reasons.
  14. * Used the Boost Graph Library to deal with the webgraph generated.
  15. * Crawled at 3.66 MB/s, stored graph in GraphML format, a total size of 1.3G.
  16. * OOM issues.
  17. * Initially saved URLs, status code and file-path in BGL itself. {I think it makes more sense to separate it out and make a separate adjacency list, and other associative data structures}
  18. * Improved to store hashes and not the entire URL and file path. {Used a custom hash function, difficult to evaluate optimality}
  19. * The graph is still in memory and needs to be written to disk.
  20. * Future work: analysis of JS and finding malicious code.
  21. * Suggestions: Use bitvectors instead of booleans, prefix trees instead of hashtables. {reversed URLs as well possibly}.
  22. * Generic Matrix Multiplication Framework in STAPL
  23. * Fine-grained SUMMA implementation. {SUMMA: Scalable Universal Matrix Multiplication Algorithm}
  24. * Shared-object programming model {can run in distributed/shared memory}
  25. * Provides generic containers and algorithmic skeletons. {express the smallest unit of computation and repeat it}
  26. * ARMI runtime hides machine details and hides communication details.
  27. * Algorthms and skeleton framework in STAPL modified.
  28. * Repeated operations, and a sink skeleton to extract the value out.
  29. * Generic way of fitting the skeleton using decltype and finding-by-tag.
  30. * 25x speedup without optimization, just by naive parallelization.
  31. * Coarser tasks would make it faster. Coarser being dealing with them in sub-blocks than assigning random processors to each tiny task. This leads to better locality and hence speedup.
  32. * It is sequential at the lowest block level, and hence, it runs the generic matrix-mul algorithm. {BLAS would make performance better}
  33. * Notes: nice example of something written in terms of algorithmic skeletons.
  34. * GAZE: A game development framework for perfect-information games.
  35. * Perfect information is when each player is perfectly informed of all relevant information to decide upon the next move.
  36. * These games are typically modeled as a decision tree {later pruned using alpha-beta}.
  37. * Each game position has a position value determined by heuristics.
  38. * The framework manages the game-tree internally and provide the necessary iterators. Alpha-beta pruning is implemented on top of this.
  39. * Game Tree and Game Vertex are containers being used; there are Game Traits to explain how interactions can be done.
  40. * Internally seems to use BGL.
  41. * Vertices are added to the game-tree when required. Vertex iterator is a forward iterator. Traits class to abstract away some details.
  42. * Sets aside some traits that the game state needs to adhere to, and the user of the library writes a game state that adheres to the concept.
  43. * A-B pruning is an extension of minimax algorithm, used to decrease the number of nodes.
  44. * The framework performs the entire process of exploring nodes and neighbors and so on.
  45. * {Could use more detail on what part is generic and what is not}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement